0
~ $ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0]
~ $ which ruby
/usr/local/bin/ruby
~ $ rails -v

    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.

~ $ cat $(which rails) | head -1
#!/usr/bin/ruby
~ $ /usr/bin/ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0]
~ $ 

如您所见,Rails 并没有采用 Ruby 的默认版本 2.0。

可以将 Rails 的第一行修改为#!/usr/local/bin/ruby吗?

4

2 回答 2

2

在您的项目文件夹中,添加一个.ruby-version包含代表您首选 Ruby 版本的字符串的文件。例如

2.0.0

这将确保 RVM 在您cd进入该文件夹后立即切换到该版本的 Ruby。

几乎所有流行的 ruby​​ 版本管理器:rvm, chruby, rbenvhonor.ruby-version文件。

或者,您也可以通过将此行添加到 gemfile 来指定您的 Ruby 版本:

ruby '2.0.0'
于 2013-09-16T17:09:01.260 回答
1

将rails的第一行修改为#!/usr/local/bin/ruby可以吗?

不,更好的方法是使用 rbenv ( https://github.com/sstephenson/rbenv ) 或 rvm ( https://rvm.io/ )。

您也可以删除 /usr/bin/ruby 并从 /usr/local/bin/ruby ( ln -s /usr/local/bin/ruby /usr/bin/ruby) 创建符号链接。但很可能你会遇到宝石问题。

于 2013-09-16T17:18:59.187 回答