您的Ruby版本是2.0.0,但您的Gemfile指定2.1.2而没有更新Gemfile

时间:2014-11-22 23:23:10

标签: ruby-on-rails ruby ruby-on-rails-3 gem

执行命令时: 在我的项目中rails s,控制台显示消息:

  

您的Ruby版本是2.0.0,但您的Gemfile指定为2.1.2

我执行了命令:

brew升级rbenv ruby​​-build rbenv install --list 版本2.1.2出现在列表中。

然后,我执行了命令:rbenv rehash,但在执行命令时出现相同的消息: rails s。 在我的Gemfile文件中,列出了: ruby '2.1.2' 但我不打算用以前的版本替换这个值。

如果我执行:

rvm use 2.1.2 显示:

 Warning! PATH is not properly set up,
 '/Users/Jarvis/.rvm/gems/ruby-2.1.2/bin' is not at first place,
          usually this is caused by shell initialization files - check them for 'PATH=...' entries,
          it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
          to fix temporarily in this shell session run: 'rvm use ruby-2.1.2'. Using /Users/Jarvis/.rvm/gems/ruby-2.1.2 Warning!
 Executable 'ruby' missing, something went wrong with this ruby
 installation! Warning! Executable 'gem' missing, something went wrong
 with this ruby installation! Warning! Executable 'irb' missing,
 something went wrong with this ruby installation!

我做错了什么?

1 个答案:

答案 0 :(得分:1)

RVM和RBenv实际上是类似的工具。在一个会话中(并且大多数时间在一台机器上)将它们彼此并排是没有实际理由的。它们都依赖于修改PATH环境变量来使Ruby和补充二进制文件更接近以便于使用。

这就是RVM所抱怨的:PATH并不是它所期望的。也就是说,RBEnv显然篡改了它。由于这些工具会尽力超越rubygemirb和其他内容,因此有时可能会相互冲突。

所以,删除其中一个。哪一个,由你决定。删除RVM非常简单:

rvm implode

...这将删除RVM的文件,红宝石和宝石,但您可能还需要检查相关行的.bash_profile.profile.bashrc

RBEnv的卸载过程似乎是手动过程:删除文件夹,查看上面列出的相关行文件。