全球可用的Gemfile

时间:2013-12-06 10:28:07

标签: ruby-on-rails ruby bundler gemfile

我在所有Rails项目中都使用了很多宝石,但这不是项目宝石的一部分,例如用于管理战俘的粉末。

使用全局Gemfile管理这些是有意义的,但我看不到任何这方面的例子。

我应该如何在项目gemfiles中管理我不想要的全球宝石?当我设置新机器等时,单点安装会很好。

我正在使用chruby和ruby-install来管理我的Ruby版本。

3 个答案:

答案 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

酷不是吧:)。

相关问题