我在capistrano的deploy.rb文件中使用了以下配置:
require 'bundler/capistrano'
require 'rvm/capistrano'
set :bundle_cmd, "/home/deployment/.rvm/gems/ruby-1.9.3-p194@global/bin/bundle"
set :default_environment, {
'PATH' => "/home/deployment/.rvm/gems/ruby-1.9.3-p194/bin:/home/deployment/.rvm/bin:$PATH",
'RUBY_VERSION' => 'ruby 1.9.3',
'GEM_HOME' => "/home/deployment/.rvm/gems/ruby-1.9.3-p194",
'GEM_PATH' => "/home/deployment/.rvm/gems/ruby-1.9.3-p194",
'BUNDLE_PATH' => "/home/deployment/.rvm/gems/ruby-1.9.3-p194"
}但是当我运行cap deploy:update时,我得到的结果是:
* executing "cd /var/www/currienet/marketplace/releases/20120928140140 && /home/deployment/.rvm/gems/ruby-1.9.3-p194@global/bin/bundle install --gemfile /var/www/currienet/marketplace/releases/20120928140140/Gemfile --path /var/www/currienet/marketplace/shared/bundle --deployment --quiet --without development test"也就是说,它没有将包路径( --path参数)设置为我想要的值。
我尝试了许多教程,包括rvm capistrano tutorial,但似乎都不起作用。它继续使用capistrano默认设置。
Capistrano还使用以下.bundler/config创建应用程序
BUNDLE_FROZEN: '1'
BUNDLE_PATH: /var/www/currienet/marketplace/shared/bundle
BUNDLE_DISABLE_SHARED_GEMS: '1'
BUNDLE_WITHOUT: development:test开发机器: Windows 7,bundler (1.0.22),capistrano (2.12.0),rvm-capistrano (1.2.7),rails (3.2.8),(无rvm)
产品: Debian,bundler (1.2.1) (no capistrano),(no rvm-capistrano),rails (3.2.8),rvm 1.16.5
发布于 2012-09-29 10:30:44
多亏了Joseph Holsten's blog,我能够确定我的问题是,在我需要' bundler /capistrano‘之前,我没有在我的deploy.rb中定义bundler变量。我还需要定义bundle_dir变量,以创建如下所示的代码:
set :bundle_cmd, "/home/deployment/.rvm/gems/ruby-1.9.3-p194@global/bin/bundle"
set :bundle_dir, "/home/deployment/.rvm/gems/ruby-1.9.3-p194"
require 'bundler/capistrano'https://stackoverflow.com/questions/12641837
复制相似问题