我在所有Rails项目中都使用了很多宝石,但这不是项目'Gems的一部分,例如用于管理POW的粉末。
使用全局Gemfile管理这些是有意义的,但我看不到任何这样的例子。
我应该如何在项目gemfiles中管理我不想要的全局Gems?当我设置新机器等时,单点安装会很好。
我正在使用chruby和ruby-install来管理我的Ruby版本。
像往常一样制作Gemfile,并将其放在任何文件夹中。它不需要是项目文件夹。然后你可以这样做:
bundle install --system
这将在系统范围内的Gemfile中安装gem,如果您无权访问系统文件夹,则会询问root密码。
--system:将捆绑中的gem安装到系统位置。这会覆盖之前记忆使用的--path。
如果要以某种方式组织Gemfile,也可以命名它们,然后执行以下操作:
bundle install --system --gemfile Gemfile_name
作为@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
您可以创建GlobalGemfile
文件(或任何您命名的文件),而不是您可以创建的文件。
bundle install --gemfile GlobalGemfile
酷不是吧:)