LoginSignup
6
5

More than 5 years have passed since last update.

vimで、rails.vimやrubyを使ったらエラーが出る場合の対処法(MacOS)

Posted at

vim-rails

vim-rails( rails.vim )は、RoRプロジェクトでのコマンドをvim上から行えたり、色々便利なプラグインです。

問題点

その中で、mountain lionにしてから下記のコマンドがバグるようになりました。
何故かRuby系の実行ファイルをMacOSにプリインストールされている方で実行しており、:!ruby filename:QuickRunで実行したときに盛大にバグってました。
Rails.vimでもこんな有様です。

:Rake db:create

rake aborted!
no such file to load -- bundler/setup
/Users/taichou/project/gift/Rakefile:5:in `require'
(See full trace by running task with --trace)
(in /Users/taichou/project/gift)

:Rails new hoge

Rails is not currently installed on this system. To get the latest version, simply type:

$ sudo gem install rails

You can then rerun your "rails" command."

しかし、shell上からはちゃんと動かせるしPATHが通っていないはずはない。

:!$PATHでvimから$PATHを調べてみました。
すると

/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/Applications/MacVim.app/Contents/MacOS:/Users/taichou/.autojump/bin:…続く

何故か/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/binが先頭でも読み込まれている?
MacOS標準搭載のrubyを避けるために、/usr/binのPATHは後ろに記述しているはずなのですが。。

解決

原因はMacOSに標準で入っているshellの設定ファイルが原因でした。

cd /etc
sudo vim paths

# /usr/binを削除

どうやら、vim上からコマンドを呼び出すと、先にこちらに記述したPATHへアクセスするようです

これでめでたし、~/.zshrcなどの設定から$PATHを構築してくれるようになりました。

なお、/etc/pathsは恐らくshellのデフォルト$PATHを設定しているので、編集する場合は十分注意してくださいね。

おまけ

調べている最中に:shコマンドを発見した。
vimをいったん抜けてshellを起動出来るみたい。(しかもshellを閉じたらvimに戻る)
おぉ、これは捗る!

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5