刚接触Ruby和Rails,我遇到了一个障碍。我用MacPorts安装了Ruby,然后用gem安装rails。它们似乎都是正确的版本:
$ ruby --version
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11]
$ rails --version
Rails 3.1.1
然而,当我用'rails new demo'做一个演示rails应用程序,然后用'rake about'看看它,它看起来像ruby版本仍然是1.8:
About your application's environment
Ruby version 1.8.7 (universal-darwin11.0)
RubyGems version 1.8.11
Rack version 1.3
Rails version 3.1.1
我已经验证了我有一个符号链接早在我的$PATH指向我想要的ruby版本(/opt/local/bin)。我如何让rails使用ruby 1.9?由于
我建议您从macports中卸载ruby,并尝试使用RVM进行安装。
http://beginrescueend.com/关于你的问题,它可能是一个路径问题与Bundler执行系统的rake命令,而不是Bundler。
尝试运行bundle exec rake about,看看会发生什么
实际上我很确定这不是macports版本本身的问题。
你可能已经改变了ruby本身的符号链接,但是你改变了rubygems的符号链接吗?
a.k.一个是gem --version
和gem1.9 --version
都指向同一个版本?因为如果没有,你可能已经为ruby1.8安装了rails。
以我的系统为例:雪豹标准1.8版:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/gem --version
1.3.5
MacPorts 1.9版本(已改名):
/usr/bin/gem --version
1.3.7