正如标题所说,找不到任何关于@something
in 的文档rvm use 2.0.0@something
?
2 回答
RVM 是 Ruby 版本管理器,它的网站在这里:https ://rvm.io/
该命令rvm use 2.0.0@something
告诉 RVM 更改当前 shell(终端)的设置,以便您使用 ruby 2.0.0。它还说使用名为something
. Gemsets 是 RVM 的一项功能,可让您将 Ruby gem 分离到不同的集合中。
关于 gemsets 的更多信息在这里:https ://rvm.io/gemsets/basics
假设您正在处理三个并行项目:一个使用 Ruby 1.9.3,两个使用 Ruby 2.0.0。让我们说:
- 项目 A:Ruby 1.9.3
- 项目 B:Ruby 2.0.0
- 项目 C:Ruby 2.0.0
当您在项目 A 上工作时,您只需说rvm use 1.9.3
,它会将您当前的 Ruby 版本设置为 1.9.3。
当您在项目 B 或 C 上工作时会出现问题,并且他们正在使用同一 gem 的不同版本(假设项目 B 使用httparty 1.0
,项目 C 使用httparty 2.0
)。
在这种情况下,rvm 不仅允许您通过 using 使用不同的 rubies ,而且还允许您对每个 Ruby(称为)rvm use
使用不同的 gems 集。gemsets
所以你可以说(在项目 B 上时): rvm use 2.0.0@project_b_gemset (这会将项目 B 所需的所有 gem 安装为不同的集合)
当您在项目 C 上时,您可以说rvm use 2.0.0@project_c_gemset
,这会将项目 C 所需的所有 gem 安装为不同的集合。因此,您可以使用具有相同 Ruby 版本的不同 gem 集。
加起来:
rvm use ruby_version@gemset_version:
ruby_version
允许在 Ruby 版本的基础上进行隔离,并gemset_version
允许您在同一版本的 Ruby 中进行进一步的隔离。