如何为 rvm 创建 GEM_HOME?

如何为 rvm 创建 GEM_HOME?

我正在学习如何使用 rvm 设置不同版本的 ruby​​ 和不同版本的 rails。以下是说明的链接http://beginrescueend.com/gemsets/basics/。 它说

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

$ rvm 1.9.2-head@testing

will use a '1.9.2-head@testing' GEM_HOME (be sure to create it

首先),而:

我已经创建了

rvm install 1.8.7-head
rvm install 1.9.2

但是我如何创建这个 rvm 1.9.2-head@testing。

我对说明书有些不明白...如果可以的话请澄清一下。

干杯

答案1

什么是宝石镶嵌?

我已经创建了

rvm install 1.8.7-head
rvm install 1.9.2

这样,您就安装了两个红宝石(不是 Gemsets),即版本 1.8.7 和 1.9.2。这些(简单地说)只是 Ruby 解释器/语言的两个版本。

现在,每个 Ruby 版本通常都安装了几个 Gems(Rails 就是其中之一)。可以将其视为插件。通常情况下,您的系统上只有一组 Ruby 插件。但是,使用 RVM,您可以将其配置为每个 Ruby 版本使用多个“Gemset”。因此,您可以使用多个 Ruby 版本(例如 Ruby 1.8.7 和 1.9.2)让每个宝石都使用不同的宝石。

在你的情况下,也许你想为每个版本配备两个 Gemsets:

在此处输入图片描述

除了您创建的 Gemsets 之外,每个 Ruby 还有一个“默认”Gemset。这是您在切换时不提供任何 Gemset 名称时获得的。它们都共享一个“全局”Gemset。


如何创建 Gemset?

如何创建这样一个“测试” Gemset?

作为按照手册首先,切换到你想要使用的 Ruby 版本:

rvm 1.9.2

…然后创建 Gemset,在你的情况下是“测试”。关于的部分GEM_HOME,算了吧。手册没有提到如何创建它。你必须读得更远一点,直到例子:

rvm gemset create testing

现在你的 Ruby 1.9.2 将有一个名为“testing”的 Gemset,你可以使用以下命令切换到它

rvm 1.9.2@testing

现在,您安装的任何 Gemgem install都将驻留在此特定 Gemset 中。如果您创建另一个 Gemset(使用rvm gemset create)并切换到该 Gemset,则之前安装的 Gem 将不可用,因为您现在正在另一个 Gemset 中工作。

相关内容