为什么Rails没有使用正确版本的Ruby?

时间:2013-06-23 15:07:41

标签: ruby-on-rails ruby

我安装了Ruby 2.0,但Rails无法识别它并告诉我升级到1.9.3。

当我跑步时:

rails console

我明白了:

Rails 4 prefers to run on Ruby 2.0.

You're running
  ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]

Please upgrade to Ruby 1.9.3 or newer to continue.

所有Rails命令都会发生这种情况。 rails newrails s等,但我确实安装了Ruby 2.0:

ruby -v
ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-darwin12.3.0]

对于不正确的Ruby默认版本,它似乎也没有问题:

rvm list

rvm rubies

ruby-1.9.3-p429 [ x86_64 ]
=* ruby-2.0.0-p195 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

我在某处读到了我的PATH变量可能有问题:

printenv PATH
/Users/Aoeu/.rvm/gems/ruby-2.0.0-p195/bin:/Users/Aoeu/.rvm/gems/ruby-2.0.0- p195@global/bin:/Users/Aoeu/.rvm/rubies/ruby-2.0.0-p195/bin:/Users/Aoeu/.rvm/bin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin

我的Ruby似乎安装在正确的位置:

which ruby
/Users/Aoeu/.rvm/rubies/ruby-2.0.0-p195/bin/ruby

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:6)

看起来你的rvm配置中有些东西搞砸了。在this thread中,OP通过卸载rvm并从头重新安装所有内容来解决它。

请务必通过运行以下命令启用autolib:

\curl -L https://get.rvm.io | bash -s stable --autolibs=homebrew --rails

答案 1 :(得分:2)

您需要告诉您的gem环境使用哪个版本的Ruby。您可以在命令行中执行以下操作:

rvm --default 2.0.0