支持
RVM 由志愿者社区维护,请将问题报告到 RVM 问题追踪器。
如果您能提供帮助或希望成为维护者之一,请开始提供帮助。 您可以在 RVM Github 组织 中找到更多与 RVM 相关的项目。
赞助商
Carbon Ads

RVM 最佳实践

想要按照 Wayne 和 Michal 的意图使用 RVM? 以下是一些已被证明在使用 rvm 时使开发更容易的技巧和最佳实践的集合。

清单

第 1 条 - 为每个项目使用 rvmrc 文件。

一个 特定于项目的 rvmrc 使得自动化您的常规工作流程变得容易。 它不仅可以让您在处理应用程序时自动切换 Ruby,而且还可以轻松地自动引导环境。

第 2 条 - 将您的 rvmrc 检入源代码控制。

通过将项目的 rvmrc 检入源代码控制,与您的应用程序一起,您可以确保所有用户在使用您的项目和 RVM 时拥有一致的环境,还可以自动执行 gemset 安装等操作。

查看 rvm 存储库或 TEDxPerth 存储库中的示例 rvmrc 文件。 您还可以通过进入项目目录来实现项目的引导,前提是您的 $HOME/.rvmrc 中有 export rvm_project_rvmrc=1

最重要的是,您还可以自动让您的部署设置您的特定于应用程序的环境,即使您使用的是 passenger

第 3 条 - 使用每个项目的 gemsets。

每个项目的 gemsets 用于确保每个应用程序都有自己独特的 gem 环境,帮助您避免因版本冲突而产生的问题。 在大多数情况下,这涉及在选择 Ruby 时使用类似 "2.1.1@your-app" 而不是 "2.1.1"(例如,在您的 rvmrc 中)。

更棒的是,将其与第 1 条和第 2 条结合起来意味着您和任何其他用户都将自动拥有正确版本的 gemsets。 如果您使用的是 bundler,RVM 甚至会为您设置 BUNDLE_PATH,以便您的 gem 目录与 bundler 放置 gem 的位置相同。

第 4 步 - 尽可能使用 RVM 部署。

使用 RVM 开发是一个好主意,在可能的情况下,使用 RVM 部署应用程序也是一个好主意。这带来了特定于应用程序的环境的通常优势,但也使在开发后期在生产中追踪版本特定的错误变得更容易。这主要是因为它确保了两个环境之间具有合理的的一致性。

更棒的是,当需要升级 Ruby 版本时,RVM 可以通过“rvm upgrade”命令来帮助你。

第 5 步 - 将 RVM 集成到你的首选工具中。

最后,请务必阅读我们的 集成 页面,了解如何将 RVM 最好地集成到你的开发和部署生态系统中。