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

命名 Gem Sets

RVM 为您提供独立的 Ruby 设置。 这意味着 ruby、gems 和 irb 都是独立且自包含的 - 与系统和彼此分离。

您甚至可以拥有单独的命名 gemsets。

例如,假设您正在测试两个版本的 gem,使用 ruby 2.1.1。 您可以将一个安装到默认的 2.1.1,然后为另一个版本创建一个命名 gemset,并在它们之间轻松切换。

示例:测试 gems

$ rvm 2.1.1@testing

将使用 '2.1.1@testing' GEM_HOME(请确保先创建它),而

$ rvm 2.1.1

将使用默认的 2.1.1 GEM_HOME

示例:Rails 版本和升级应用程序

为了说明这一点,让我们谈谈一个常见的用例。 假设您正在针对新的 Rails 版本测试 Rails 应用程序。 RVM 使这种测试变得非常容易,因为它允许您快速在多个 Rails 版本之间切换。 首先,让我们设置环境

$ rvm 2.1.1
$ gem install rails -v 4.1.0

$ rvm gemset create rails410 rails320
Gemset 'rails410' created.
Gemset 'rails320' created.

$ rvm 2.1.1@rails410
$ gem install rails -v 4.1.0

$ rvm 2.1.1@rails320
$ gem install rails -v 3.2.0

请注意,对于上述每个 ruby 安装,您都可以拥有完全独立的版本!

现在您的环境已经设置好了,您可以简单地按照以下步骤在 Rails 版本和 Ruby 版本之间切换。

$ rvm 2.1.1@rails410 ; rails --version

Rails 4.1.0

$ rvm 2.1.1@rails320 ; rails --version

Rails 3.2.0

如果您正在部署到服务器,或者您不想等待每个 gem 的 rdoc 和 ri 安装,您可以为 gem 安装和更新禁用它们。 只需将以下行添加到您的 ~/.gemrc 或 /etc/gemrc

gem: --no-rdoc --no-ri

警告!

* RVM 为每个 Ruby 版本和 gemset 提供一个单独的 gem 目录。 * 这意味着必须为每个修订版和 gemset 显式安装 gems。 RVM 帮助您管理此过程; 请参阅 RVM set 文档 页面。

注意:关于默认和全局 gemsets 的区别。 如果您根本不使用 gemset,您将在 'default' 集中获得 gems。 如果您使用特定的 gemset(例如 @testing),它将继承该 ruby 的 @global 中的 gems。 'global' gemset 允许您将 gems 共享到所有 gemsets。 'default' 这个词字面意思就是它本身,例如,在没有为特定安装的 ruby 选择 gemset 时使用的 gemset。