我在所有Rails项目中都使用了很多宝石,但这不是项目宝石的一部分,例如用于管理战俘的粉末。
使用全局Gemfile管理这些是有意义的,但我看不到任何这方面的例子。
我应该如何在项目gemfiles中管理我不想要的全球宝石?当我设置新机器等时,单点安装会很好。
我正在使用chruby和ruby-install来管理我的Ruby版本。
答案 0 :(得分:11)
像往常一样制作Gemfile,并将其放在任何文件夹中。它不需要是项目文件夹。然后你可以这样做:
bundle install --system
这将在系统范围内的Gemfile中安装gem,如果您无权访问系统文件夹,则会询问root密码。
<强> - 系统强>: 将捆绑中的gem安装到系统位置。这会覆盖以前记得的使用--path。
如果你想以某种方式组织它们,你也可以命名你的Gemfile,然后执行:
bundle install --system --gemfile Gemfile_name
答案 1 :(得分:3)
作为@ Casper回答的补充:
我为系统Gem文件创建了一个目录。
然后我为每个版本的ruby添加了一个目录,我想安装系统宝石。我为每个目录添加了一个Gemfile,并使用正确的版本添加了一个.ruby-version文件。我现在可以使用以下命令为ruby版本安装系统gem:
$ cd path/to/system_gems_dir/1.9.3-p484
$ bundle install --system
或
$ cd cd path/to/system_gems_dir/2.0.0-p353
$ bundle install --system
答案 2 :(得分:-1)
您可以创建GlobalGemfile
文件(或其他任何名称),而不是您可以做的。
bundle install --gemfile GlobalGemfile
酷不是吧:)。