3

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チュートリアルを含む多くのチュートリアルを試しましたが、何も機能しないようです。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、バンドラー(1.0.22)、capistrano(2.12.0)、rvm-capistrano(1.2.7)、rails(3.2.8)、(rvmなし)

本番環境:Debian、bundler(1.2.1)(capistranoなし)、(rvm-capistranoなし)、rails(3.2.8)、rvm 1.16.5

4

1 に答える 1

8

Joseph Holstenのブログのおかげで、「bundler / capistrano」が必要になる前に、deploy.rbでバンドラー変数を定義していなかったことが問題であることがわかりました。また、次のようなコードを作成するために、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'
于 2012-09-29T02:30:44.123 に答える