2012-01-03 40 views

回答

0

翻阅RVM文档,我没有看到具体的做法。但是,您可以通过@global gemsets和gemset复制复制的组合来近似它。

全局gemsets提供可用于给定ruby的所有宝石的宝石。例如: -

rvm install 1.9.3 
rvm --create [email protected] 
rvm --create [email protected] 
rvm use [email protected] 
gem install sqlite3 

将创建为1.9.3红宝石两种不同gemsets,和全球的sqlite3会在两个可用。

然后,一旦你完成了这个任务,你可以将全局gemset复制到其他ruby中,并且它们自己可以使用它。例如,上述的延续:

rvm install 1.8.7 
rvm gemset copy [email protected] [email protected] 

现在sqlite3的宝石适用于所有1.8.7 gemsets(假设我已经有了正确的顺序的论点 - 我可能不会,在这种情况下,开关1.9.3和1.8.7)。这不太理想,因为更新一个ruby并不会自动在其他ruby中显示出来,你必须单独复制到每个ruby,我想你可能最终会破坏你所拥有的任何依赖ruby的全局gems在每个设置。如果最后一点不是你预见的问题,那么你可以写一个脚本来避免前两点暗示的乏味。

免责声明:这是严格从阅读通过RVM文档放在一起,我没有实际尝试过。如果我有什么问题,我很乐意编辑答案来解决问题。

5

可以执行:

rvm @global do gem install [gem_name] 

在全球范围内安装宝石(红宝石每版)。

这是不可能安装宝石全球每个红宝石版本

根据https://rvm.io/gemsets/initial,您可以为文件~/.rvm/gemsets/global.gems中的每个ruby版本定义自动安装的gem。在这个文件中,你需要定义所需的宝石(每行一个),例如

bundler 
zeus 

每次向RVM添加新的ruby版本时,都会安装这些gem。

相关问题