我有一台安装了Ruby 1.8的Ubuntu机器。
我将Rails应用程序复制到它,然后bundle install
。它装好了一切。该应用程序需要Ruby 1.9,因此我下载了Ruby源代码,编译并安装它。
当我ruby -v
时,我得到ruby 1.9.2p180 (2011-02-18 revision 30909) [i686-linux]
,但当我在RUBY_VERSION
上rails console
时,我得到1.8.7
。当我尝试运行我的Rails应用程序时,它失败了。我的Rails应用程序使用的是旧版本的Ruby,即使从控制台和其他任何地方都可以正常工作。哎呀,我甚至创建了一个新的Rails应用程序,它使用的是更新的版本。
任何想法发生了什么?
答案 0 :(得分:0)
等等......你实际上是从源代码编译的吗?您最有可能在控制台路径中使用新版本的ruby,但应用程序dosnt拥有它。从系统中卸载ruby并使用RVM,这样就可以管理ruby版本。
答案 1 :(得分:0)
输入“which ruby”和“which irb”
你应该看到一个带有〜/ .rvm /的路径......但是我打赌你在你的系统上有一个旧版本的ruby和irb ..可能在/ usr / bin下
要摆脱这种情况,你需要在RVM 和中设置默认的ruby版本,你需要确保正确设置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 use 1.9.2”
同时检查“printenv PATH”以检查.rvm目录是否位于PATH中的/ usr / bin之前