繁体   English   中英

Rails-已安装最新的宝石,但应用程序较旧

[英]Rails - the newest gem is installed but the applicaiton is old

我正在Bluehost上工作。 我安装了3.2.8 gem of rails,现在我得到了:

> gem list --local | grep rails
rails (3.2.8)

但:

rails --version
Rails 2.3.11

如何使“ rails”命令使用最新的gem? 我猜想它与$ PATH变量有关,但是我对此一无所知。

同样,gem and rails命令也会引起一些错误,如下所示:

Invalid gemspec in [XXX]: invalid date format in specification: "YYY"

我不确定是否已连接(并且我想知道到底是什么导致此类错误)。

尝试运行以下命令:

curl -L https://get.rvm.io | bash -s stable --ruby --rails

它所做的是安装RVM,它为安装的每个Ruby版本维护单独的gem。 --ruby--rails参数告诉它在安装RVM时安装ruby和rails。 RVM安装会自动更新$ PATH和任何其他必要的环境变量。

在安装结束时,它会提示您运行:

source ~/.rvm/scripts/rvm

这将使这些环境变量更改立即生效。 或者,您可以注销然后重新登录。

此时运行rails -vruby -v ,您应该看到它们指向新版本。 从RoR应用程序的目录运行bundle install ,所有需要的gems应该安装在〜/ .rvm / gems / ruby​​- / gems中。

此时,您可以在安装RVM之前从中删除/卸载所有gems / rails / ruby​​。

2012年10月17日编辑:不要介意我的回答。 即使可能使Rails 3.x与当前安装的Ruby 1.8一起运行(请参阅此Stackoverflow问题),您也将无法使用Bluehost Shared Hosting运行Ruby1.9.x。 目前唯一的选择是VPS主机。

原因是,Passenger Phusion与/ usr / lib中安装的Ruby版本绑定在一起,没有root访问权限就无法更改。 即使您可以使用RVM安装任何版本的Ruby,也不会让Passenger与之交谈,因此rails项目不会使用其gems。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM