2011-06-03 145 views
0

我有一台安装了Ruby 1.8的Ubuntu机器。为什么Rails使用旧版本的Ruby,即使我已经更新了它?

我复制了我的Rails应用程序,并做了bundle install。它安装一切正常。该应用程序需要Ruby 1.9,所以我下载了Ruby源代码,编译并安装它。

当我做ruby -v,我得到ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux],但是当我在做rails consoleRUBY_VERSION,我得到1.8.7。当我尝试运行我的Rails应用程序时,它失败。即使从控制台和其他地方的工作正常,我的Rails应用程序使用的是旧版本的Ruby。哎呀,我甚至创建了一个新的Rails应用程序,它使用了一个更新的版本。

任何想法发生了什么?

+1

.....使用RVM来之前的/ usr/bin中.... – Zabba 2011-06-03 20:34:34

回答

0

等等......你真的从源代码编译它?你很可能在你的控制台路径中有新版本的ruby,但你的应用程序dosnt拥有它。从你的系统中卸载ruby,并使用RVM来管理你的ruby版本。

+0

伊夫使用RVM也和它再次切换红宝石版本成功(我使用'ruby -v'确认它),但由于某些非常奇怪的原因,我的应用程序仍然停留在1.8.7版本中。如何从系统中卸载红宝石/ – John 2011-06-03 21:57:53

+0

apt-get remove ruby​​? – 2011-06-03 21:58:46

+0

谢谢。现在我得到这个>'$〜/ bin/rvm use 1.9.2 使用〜/ .rvm/gems/ruby​​-1.9.2-p180 $ rails console /usr/bin/env:ruby1.8:没有这样的文件或目录 '我严重丢失:/ – John 2011-06-03 22:09:57

0

型“这红宝石”和“这IRB”

你应该看到〜/ .rvm /在它的路径...但我敢打赌,你,你有地方在系统上的旧版本红宝石和IRB ..可能在/ usr/bin

要摆脱这种情况,您需要设置您的默认ruby版本在RVM 您需要确保RVM安装正确(例如在您的.bashrc或.bash_profile文件)

键入“rvm list”..你应该看到类似这样的内容:

$ rvm list 

rvm rubies 

    ruby-1.8.7-p302 [ x86_64 ] 
=> ruby-1.9.2-p0 [ x86_64 ] 

注意:你应该看到箭头指向1.9.2,表示它是默认版本

,如果它没有被设置为默认值,键入:“RVM --default使用1.9.2”

同时检查“printenv PATH”检查.rvm目录在PATH

相关问题