2014-11-22 105 views
1

当我执行命令: rails s在我的项目,在控制台显示以下信息:你的Ruby版本是2.0.0,但你的Gemfile中指定的2.1.2更新不Gemfile中

你的Ruby版本是2.0 2.0,但您的Gemfile指定2.1.2

我执行的命令:

冲泡升级rbenv红宝石打造 rbenv安装--list 和版本sion 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! 

我做错了吗?

+3

'rbenv'旁边'rvm'可能会导致问题... – 2014-11-22 23:35:43

+0

我与D方。我的建议是使用rbenv或rvm,但不能同时使用。你的项目是否有.ruby-version文件? – 2014-11-22 23:40:48

+0

@NickM真的,没有。我将卸载'rvm'并保留'rbenv' – MrMins 2014-11-22 23:48:32

回答

1

RVM和RBenv实际上是类似的工具。没有实际的理由让他们在一次会议中彼此并排(大部分时间在一台机器上)。他们都依靠修改PATH环境变量来使Ruby和补充二进制文件更接近,以便于使用。

这就是RVM抱怨的:PATH不是它期望的。也就是说,RBEnv显然篡改了它。由于这些工具尽最大可能超过ruby,gem,irb以及其他东西,所以它们可能会在很多场合发生冲突。

所以,删除其中的一个。哪一个,取决于你。删除RVM一样简单:

rvm implode 

...,将删除RVM的文件,红宝石和宝石他们,但你可能还需要检查.bash_profile.profile.bashrc对相关行。

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

相关问题