当我运行常规irb
会话时,我在REPL中运行vim
没有问题。
但是,在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。< / p>
我几乎没有在Vim中使用Ruby功能。为什么我在 如果版本不匹配,我可以在IRB中暂时禁用Ruby for Vim吗? 我只想用vim进行简单的编辑...... rails c
内运行的Vim版本必须使用与我的Rails应用程序完全相同的Ruby版本进行编译?
答案 0 :(得分:0)
将set shell=/bin/sh
添加到.vimrc
请记住在更新vimrc后重新启动ViM。
答案 1 :(得分:-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