如何让rails在创建项目时使用最新安装的ruby版本?



刚接触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 --versiongem1.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    

最新更新