2015-01-03 70 views
1

當我運行一個普通的irb會話時,我從REPL中運行vim沒有任何問題。Vim在Rails控制檯中 - 你的Ruby版本是2.0.0,但是你的Gemfile指定了2.1.2

然而,裏面rails c,我得到以下錯誤:

>> vim 
Your Ruby version is 2.0.0, but your Gemfile specified 2.1.2 
Vim: Caught deadly signal SEGV 
Vim: Finished. 
=> nil 

現在,這是正確的。我的Gemfile指定了2.1.2,而Vim是用Ruby 2.0.0編譯的。

什麼我真的不想要必須做的,但是,我正在爲每個不同的Ruby項目重新編譯Vim,使用不同版本的Ruby。

我很少使用Vim中的Ruby功能。爲什麼我從rails c內運行的Vim版本必須與我的Rails應用程序完全相同的Ruby版本進行編譯?

如果版本不匹配,我可以暫時禁用IRB中的Ruby for Vim的任何方式?

我只是想能夠做到用vim簡單編輯...

+0

最簡單的方法就是用打捆'捆綁高管軌C' –

+0

@МалъСкрылевъ這不工作,看我給你的答案下面 – MikeC8

回答

-2

最簡單的方法是使用bundler如下:

$ bundle exec rails c 

,或者您外殼解決您的PATH變量前面加上與rails正確的版本:

$ bundle show rails 
/path/to/rails/in/bundle/environment 

$ export PATH=/path/to/rails/in/bundle/environment:$PATH 
$ rails c 
+0

這並不影響什麼反應......的軌道已經在捆綁環境中運行。使用bundle exec運行rails c仍然會導致相同的問題。 – MikeC8

+0

@ MikeC8如果您認爲我會用downvote更好地給出答案,那麼您錯了。我更容易讓你一個人處理你的問題。然而。根據回答,爲項目文件夾內的「哪個導軌」提供輸出 –

+0

/Users/me/.rvm/gems/ruby-2.1.2/bin/rails – MikeC8

0

添加set shell=/bin/sh到你的.vimrc

記得在更新vimrc後重新啓動ViM。

相關問題