尝试运行以下命令:
curl -L https://get.rvm.io | bash -s stable --ruby --rails
它所做的是安装 RVM,它为每个安装的 Ruby 版本维护单独的 gem。--ruby
and参数告诉它在--rails
安装 RVM 时安装 ruby 和 rails。RVM 安装会自动更新 $PATH 和任何其他必要的环境变量。
在安装结束时,它应该提示您运行:
source ~/.rvm/scripts/rvm
这将使这些环境变量更改立即生效。或者,您可以注销然后重新登录。
运行rails -v
并ruby -v
在那一点上,您应该看到它们指向新版本。从您的 RoR 应用程序的目录运行bundle install
,您需要的所有 gem 都应该安装在 ~/.rvm/gems/ruby-/gems 中。
此时,您可以在安装 RVM 之前删除/卸载任何 gems/rails/ruby。
2012 年 10 月 17 日编辑:没关系我的回答。尽管有可能让 Rails 3.x 与当前安装的 Ruby 1.8 一起运行(请参阅这个 Stackoverflow 问题),但您将无法使用 Bluehost Shared Hosting 运行 Ruby 1.9.x。您唯一的选择(目前)是 VPS 托管。
原因是Passenger Phusion 与安装在/usr/lib 中的Ruby 版本相关联,如果没有root 访问权限,您无法更改该版本。即使您可以使用 RVM 安装任何版本的 Ruby,您也不会让Passenger 与它对话,因此您的 Rails 项目不会使用它的 gem。