2014-11-23 90 views
5

我使用rbenv和我有如下错误,当我执行rails srbenv你的Ruby版本是2.0.0,但你的Gemfile指定2.1.2

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

我读这个线程:Mavericks, RBENV, Your Ruby version is 2.0.0, but your Gemfile specified 2.1.1

但错误依然存在。

rails -v 
Your Ruby version is 2.0.0, but your Gemfile specified 2.1.2 

和命令

sudo gem install bundler 
rbenv rehash 

$ which ruby /usr/bin/ruby

$ bundle exec which ruby Your Ruby version is 2.0.0, but your Gemfile specified 2.1.2

doenst解决问题。 我做错了什么?

+0

我们能不能把自己的Gemfile的副本吗? – 2014-11-23 23:41:08

+0

请发出以下命令并给出结果:'哪个ruby'和'bundle exec哪个ruby' – 2014-11-24 06:11:49

+0

@МалъСкрылевъ我更新了结果的问题 – MrMins 2014-11-24 12:07:30

回答

4

您使用的是什么版本的红宝石?

ruby -v

这听起来像Gemfile中对2.1.2所列红宝石要求。您可能需要安装该版本:

rbenv install 2.1.2

那么你可能需要告诉rbenv使用该版本为该项目:

rbenv local 2.1.2

它看起来像rbenv队/社区决定反对增加对Gemfile中指定的ruby版本的支持。参考:https://github.com/sstephenson/rbenv/issues/223

+1

我试过了,但一样的问题。 'ruby -v' > ruby​​ 2.0.0p451(2014-02-24 revision 45167)[universal.x86_64-darwin13] – MrMins 2014-11-23 23:53:24

+0

运行“rbenv install 2.1.2”后发生了什么?如果你做“rbenv list”,它会告诉你2.1.2已经安装了吗?在“rebind local 2.1.2”步骤之后,您可能需要从该目录中cd出来并重新进入cd。 – 2014-11-23 23:54:38

+0

被安装了很多软件包,现在如果我执行'rbenv local 2.1.2'没有显示任何错误,但是我的'ruby -v'仍然是一样的 – MrMins 2014-11-23 23:56:11

3

如果你在一个Rails项目中得到了这个,并且你最近升级了你的ruby版本,你可能会使用老版本的ruby运行spring./bin/spring stop将解决此问题。

+0

我最近没有升级过,但是这确实解决了这个问题。在我的情况下,所有的命令,例如“哪个ruby”,“bundle exec ruby​​”,“rvm list”都说我使用了正确的ruby版本,但是来自同一命令提示符的“rails console”继续尝试使用另一个版本。非常感谢。 – JosephK 2015-08-23 12:35:28

+0

谢谢,帮忙! :) – Askar 2015-09-21 11:22:29

0

如果是MacOS和新的Ruby是从自制,尝试sudo gem bundler

相关问题