我正在学习如何使用 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 中工作。