我正在尝试部署我的Rails 3.0.1应用程序,该应用程序适用于Ruby 1.9.2。
但是,我注意到服务器上安装了Rails 1.8.7。
我应该采取什么步骤在服务器上安装 Ruby 1.9.2,并强制我的应用程序使用它?
我使用Apache和Passenger。
我建议安装 RVM 并使用它来设置服务器上所需的 Ruby 版本。
以下是它在生产环境中的优势概述:
RVM 允许用户部署每个 完全拥有自己的项目 独立且专用 环境 - 从特定版本 的红宝石一直到的 运行所需的 Gem 的精确集合 应用程序。拥有精确的设置 的宝石也避免了以下问题 项目间版本冲突, 导致难以追踪的错误和 数小时的脱发。使用 RVM,没有其他 比所需的 GEMS 是 安装。这使得使用 多个复杂应用程序,其中 每个人都有一长串宝石 依赖关系高效。RVM允许我们 通过以下方式轻松测试 gem 升级 切换到一组新的干净宝石 在离开我们的时进行测试 原始套装完好无损。它是灵活的 甚至足以让每个拥有一套宝石 环境或开发分支--或 甚至是个人开发人员的口味!
它非常易于设置和使用,特别是与自己管理 Ruby 版本相比。我已经做到了这两点,我现在更喜欢RVM。安装 RVM 后,使用 Ruby 1.9.2 非常简单:
rvm install 1.9.2
rvm use 1.9.2
然后,您可以检查您的生产环境使用的是哪个版本的 Ruby:
ruby -v
假设您使用 Apache 重新安装
$ passenger-install-apache2-module
同时激活 Ruby 1.9.2。如果使用 RVM,只需键入 rvm use 1.9.
2 即可激活该版本的 Ruby。按照屏幕上的说明修改您的 httpd.conf。