全球可用的Gemfile

问题描述 投票:6回答:3

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

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

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

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

ruby-on-rails ruby bundler gemfile
3个回答
11
投票

像往常一样制作Gemfile,并将其放在任何文件夹中。它不需要是项目文件夹。然后你可以这样做:

bundle install --system

这将在系统范围内的Gemfile中安装gem,如果您无权访问系统文件夹,则会询问root密码。

--system:将捆绑中的gem安装到系统位置。这会覆盖之前记忆使用的--path。

如果要以某种方式组织Gemfile,也可以命名它们,然后执行以下操作:

bundle install --system --gemfile Gemfile_name

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

-1
投票

您可以创建GlobalGemfile文件(或任何您命名的文件),而不是您可以创建的文件。

bundle install --gemfile GlobalGemfile

酷不是吧:)

© www.soinside.com 2019 - 2024. All rights reserved.