我使用railstutorial.org在我的机器上安装最新版本的ruby和最新版本的rails。
在安装结束时我检查了
ruby -v ==> 1.9.2 (great)
rails -v ==> 3.0.1 (great)
今天早上我打开了终端
ruby -v
ruby 1.8.6 (2009-06-08 patchlevel 369) [universal-darwin9.0]
rails -v
Rails 1.2.6
发生了什么事?
答案 0 :(得分:6)
我对安装ruby的人的建议是使用RVM。它使得管理ruby版本和gem版本非常简单,你可以并排安装多个ruby版本。
答案 1 :(得分:1)
答案 2 :(得分:0)
对于许多unix变体,您可能有多个版本的Ruby - 特别是如果您安装了Ruby 1.9并且系统已经安装了1.8。从本质上讲,1.8版本的Ruby在PATH中的优先级高于1.9版本。 Ruby Gems命令使库在1.8和1.9之间分开,以便平台相当稳定。
要解决此问题,您必须找到安装ruby 1.9的位置。完成后,您需要覆盖PATH变量。假设在路径/opt/ruby-1.9.2
中安装了1.9,则需要像这样设置PATH:
PATH=/opt/ruby-1.9.2/bin:$PATH
export PATH
要使路径每次都符合您的要求,请将其添加到~/.profile
文件中(必要时创建它)。一旦设置了路径,它就能够再次找到正确版本的Rails。
答案 3 :(得分:0)
您可以使用Cinderalla正确设置整个ruby / rvm / mysql / redis / git / ...堆栈。灰姑娘会在~/Developer
中安装所有内容,并修复您的PATH
。我上次使用Cinderalla虽然如此YMMV,但我遇到了一些腐败的git
镜像问题。
答案 4 :(得分:0)
我不能肯定地说,因为我无法从这里调试你的OSX机器,但是,我有一个非常相似的事件。问题是由于我已经安装了ruby然后使用sudo或root帐户在我的机器上进行了导航。然后,当我发现rvm时,我在我的用户帐户中安装了所有内容。当我退出并返回时,我似乎失去了一切。我拔出了头发。我很生气,当我找到了魔法时,我将不得不重新安装所有东西。
从命令行执行命令:
rvm list
你会看到你的新版本的ruby就在那里。你还会注意到这些标记表明它只是一个普通版本。它不是最新的或默认的。 (见它)
现在,如果您运行命令:
rvm use 1.9.2 --default
然后每次登录/关闭并重新启动计算机时,您的用户帐户将默认使用该版本的ruby以及您针对该版本安装的所有gem。