奇怪的问题,试图通过我的全新安装来弄清楚这里发生了什么。
我使用自制软件安装了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时会出现同样的情况。
答案 0 :(得分:2)
如果您运行的是mac os x,则预装了ruby 1.8。如果要安装多个ruby版本,请使用RVM或rbenv。
答案 1 :(得分:1)
Homebrew没那么糟糕:)
您可以使用rbenv
。它是ruby版本管理器。
我对MAC OS X 10.8.2的成功故事是:
/usr/local/bin
需要先行)使用内容创建〜/ .profile:
export RBENV_ROOT=/usr/local/opt/rbenv
if which rbenv > /dev/null; then
eval "$(rbenv init -)"
fi
使用rbenv install 1.9.3-p374
rbenv global 1.9.3-p374
gem update --system
(可选)gem install rails
答案 2 :(得分:0)
bundle exec rails server
应该工作得很好。它也有助于我关闭终端并开辟一个新终端。
答案 3 :(得分:0)
如果您有多个版本的ruby,我建议您使用RVM
使用:https://github.com/wayneeseguin/rvm#usage
查看所有版本的ruby使用" rvm list"
并设置默认版本" rvm - 默认版本"
答案 4 :(得分:0)
sudo update-alternatives --config gem
并选择你的verison!