“rails s”使用Ruby 1.8.7而不是Ruby 1.9.3(OS X 10.7.2)

时间:2012-01-22 06:37:00

标签: ruby-on-rails ruby ruby-on-rails-3 macos rubygems

奇怪的问题,试图通过我的全新安装来弄清楚这里发生了什么。

我使用自制软件安装了Ruby 1.9.3。我使用ruby gem安装了Rails 3.2.0。然后,我使用rails new test_app创建了一个测试应用程序,以确保测试环境中的所有内容都正常。不知何故,rails环境使用1.8.7而不是1.9.3。

在做ruby -v时,我明白了:

overcast:test_app joe$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]

但是在运行rails s时,我得到了这个:

overcast:test_app joe$ rails s
=> Booting WEBrick
=> Rails 3.2.0 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-01-21 23:21:35] INFO  WEBrick 1.3.1
[2012-01-21 23:21:35] INFO  ruby 1.8.7 (2010-01-10) [universal-darwin11.0]

而且,显然,当在localhost:3000查看rails环境网页时,我显示1.8.7而不是1.9.3。我根据我在这里找到的一些答案编辑了/ etc / paths,将/ usr / local / bin放在顶部,但它似乎没有什么区别。

非常感谢任何帮助!

附录:安装并尝试通过RVM使用Ruby时会出现同样的情况。

5 个答案:

答案 0 :(得分:2)

如果您运行的是mac os x,则预装了ruby 1.8。如果要安装多个ruby版本,请使用RVM或rbenv。

答案 1 :(得分:1)

Homebrew没那么糟糕:) 您可以使用rbenv。它是ruby版本管理器。 我对MAC OS X 10.8.2的成功故事是:

  • 安装Homebrew
  • 更改/ etc / paths中的PATH(/usr/local/bin需要先行)
  • 使用自制软件安装rbenv和ruby-build(它是rbenv的插件)
  • 使用内容创建〜/ .profile:

    export RBENV_ROOT=/usr/local/opt/rbenv
    
    if which rbenv > /dev/null; then
        eval "$(rbenv init -)"
    fi
    
  • 使用rbenv install 1.9.3-p374

  • 安装上一个稳定的ruby版本
  • 使用rbenv global 1.9.3-p374
  • 更改默认ruby版本
  • 使用gem update --system(可选)
  • 更新gem
  • 安装rails gem install rails
  • ...
  • 利润:)

答案 2 :(得分:0)

bundle exec rails server

应该工作得很好。它也有助于我关闭终端并开辟一个新终端。

答案 3 :(得分:0)

如果您有多个版本的ruby,我建议您使用RVM

安装https://rvm.io/rvm/install

使用:https://github.com/wayneeseguin/rvm#usage

查看所有版本的ruby使用" rvm list"

并设置默认版本" rvm - 默认版本"

答案 4 :(得分:0)

  

sudo update-alternatives --config gem

并选择你的verison!