如果您能提供帮助或希望成为维护者之一,请开始帮助我们。您可以在 RVM Github 组织 中找到更多与 RVM 相关的项目。
在 Ruby 安装期间初始化 Gemsets
当您安装新的 Ruby 时,RVM 不仅会创建两个 gemsets(默认的空 gemset 和全局 gemset),还会使用一组用户可编辑的文件来确定要安装哪些 gem。
在 ~/.rvm/gemsets 中,rvm 使用基于正在安装的 Ruby 字符串的树状层次结构搜索 global.gems 和 default.gems。以 ree-1.8.7-p2010.02 为例,rvm 将检查(并从以下文件导入):
- ~/.rvm/gemsets/ree/1.8.7/p2010.02/global.gems
- ~/.rvm/gemsets/ree/1.8.7/p2010.02/default.gems
- ~/.rvm/gemsets/ree/1.8.7/global.gems
- ~/.rvm/gemsets/ree/1.8.7/default.gems
- ~/.rvm/gemsets/ree/global.gems
- ~/.rvm/gemsets/ree/default.gems
- ~/.rvm/gemsets/global.gems
- ~/.rvm/gemsets/default.gems
例如,如果您通过添加这两行编辑了 ~/.rvm/gemsets/global.gems
bundler awesome_print
每次您安装新的 Ruby 时,这两个 gem 都会安装到您的全局 gemset 中。
使用默认或全局 gemsets,您还可以让 RVM 包含给定 gem 的特定版本。以下是方法:
bundler -v~>1.0.0 awesome_print hirb -v0.4.5
默认情况下,rvm 使用这些 gemsets 来安装常用库(例如 rake,以及 jruby 的情况下,jruby-openssl)。
警告
default.gems 和 global.gems 文件通常会在更新 rvm(rvm get ...)期间被覆盖。
但是,可以通过 使用 after_install hook 或在 安装 / 升级 期间使用 --with-default-gems/--with-gems 标志来覆盖此行为。