我正在学习如何使用 rvm 使用不同版本的 rails 设置不同版本的 ruby。这是说明http://beginrescueend.com/gemsets/basics/的链接。它说
例如,假设您正在使用 ruby 1.9.2-head 测试 gem 的两个版本。您可以将一个安装到默认的 1.9.2-head,然后为另一个版本创建一个命名的 gemset,并轻松地在它们之间切换。示例:测试宝石
Run Code Online (Sandbox Code Playgroud)$ 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
Run Code Online (Sandbox Code Playgroud)
但是我如何创建这个 rvm 1.9.2-head@testing。
关于说明,我有一些不明白的地方……如果可以,请澄清。
干杯
我已经创建了
Run Code Online (Sandbox Code Playgroud)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 版本使用多个“Gemsets”。因此,您可以使用多个 Ruby 版本(例如 Ruby 1.8.7 和 1.9.2)并让每个版本使用不同的 Gemset。
在您的情况下,也许您希望每个版本都有两个 Gemset:

除了您创建的 Gemset 之外,每个 Ruby 还具有一个“默认”Gemset。这是在切换时不提供任何 Gemset 名称时得到的。他们所有人也共享一个“全局” Gemset。
你如何创建这样一个“测试”的 Gemset?
根据手册,首先,切换到您要使用的 Ruby 版本:
rvm 1.9.2
Run Code Online (Sandbox Code Playgroud)
...然后创建 Gemset,在您的情况下是“测试”。关于 的部分GEM_HOME,算了。手册没有提到如何创建它。您必须进一步阅读示例:
rvm gemset create testing
Run Code Online (Sandbox Code Playgroud)
现在您的 Ruby 1.9.2 将有一个名为“testing”的 Gemset,您可以切换到
rvm 1.9.2@testing
Run Code Online (Sandbox Code Playgroud)
现在,您安装的任何 Gem 都gem install将驻留在这个特定的 Gemset 中。如果您创建另一个 Gemset(使用rvm gemset create)并切换到该Gemset ,则之前安装的 Gem 将不可用,因为您现在正在另一个 Gemset 中工作。
| 归档时间: |
|
| 查看次数: |
2016 次 |
| 最近记录: |