Ruby Capistrano:使用标准宝石之家的捆绑宝石
使用Capistrano进行部署时,我希望使用已安装的gems,而不是将其安装到供应商的Ruby Capistrano:使用标准宝石之家的捆绑宝石,ruby,capistrano,bundler,Ruby,Capistrano,Bundler,使用Capistrano进行部署时,我希望使用已安装的gems,而不是将其安装到供应商的中 Capistrano似乎忽略了.gemrc&.bashrc,因此我在deploy.rb中尝试了这一点: require 'bundler/capistrano' set :default_environment, { 'GEM_HOME' => '/some_path/.gem', 'GEM_PATH' => '/some_path/.gem', 'BUNDLE_
中
Capistrano似乎忽略了.gemrc
&.bashrc
,因此我在deploy.rb
中尝试了这一点:
require 'bundler/capistrano'
set :default_environment, {
'GEM_HOME' => '/some_path/.gem',
'GEM_PATH' => '/some_path/.gem',
'BUNDLE_PATH' => '/some_path/.gem'
}
我的gems位于/some_path/.gem/gems
,bin:/some_path/.gem/bin
,您可以告诉bundler gems应该去哪里(或者我相信是哪里),并通过--local从本地gem缓存安装,而不是从中获取
如果你正在做
require 'bundler/capistrano'
将其放在deploy.rb中以设置bundle安装的--path arg:
set :bundle_dir, "/path/to/gems"
以下是我在config/deploy.rb
中告诉bundler将gems安装到“系统”gems中的内容:
这是YAML引擎从Syck切换到Psych的表现,以及它带来的所有不兼容性。问题是,现在您必须重新安装所有gems,因为所有安装的gems都有错误的gempec规范
set :bundle_dir, "/path/to/gems"
require "bundler/capistrano"
set :bundle_dir, "" # install into "system" gems
set :bundle_flags, "--quiet" # no verbose output
set :bundle_without, [] # bundle all gems (even dev & test)