0

警告: 私は capistrano と rvm の初心者です。レール付きではありません。Ruby 1.9.3 で gemset を作成するために、デプロイ スクリプトでrvm-capistranoを使用してい ます。これはうまくいくようです。問題は、アセットをプリコンパイルしようとするときに、shared/bundle/ruby/1.9.1/gems ディレクトリの gem を使用していることです。これは問題ですが、どうすればいいのかわかりません... bundler が gem を配置する場所、gemset の場所が指す場所、または gemset を使用しようとしていないだけの問題ですか。何か案は?これが私のデプロイスクリプトです:

require 'mana/server_ec2'
# setup rvm
require 'rvm/capistrano'
set :rvm_ruby_string, :local              # use the same ruby as used locally for deployment
#set :rvm_autolibs_flag, "read-only"       # more info: rvm help autolibs

#before 'deploy', 'rvm:install_rvm'  # install/update RVM
#before 'deploy', 'rvm:install_ruby' # install Ruby and create gemset, OR:
# before 'deploy:setup', 'rvm:create_gemset' # only create gemset
before :deploy, 'rvm:create_gemset'

set :default_stage, :vagrant

set :ruby_version, :brightbox
set :care_about_ruby_version, false

set :chef_version, '~> 11.4.0'

set :railsapp,
    server_names: '_'

set :run_list, %w(
  recipe[monit]
  recipe[resque]
)

set :runner, 'nobody'
set :keep_releases, 10

task :set_permissions, :roles => :web do
  run "sudo chmod 777 #{current_release}/tmp #{current_release}/tmp/pids -R"
end

after 'deploy:restart', 'deploy:restart_unicorn'
after 'deploy:finalize_update', :set_permissions

before 'deploy:assets:precompile' do
  #upload 'vendor/assets/components.zip', "#{latest_release}/vendor/assets", via: :scp
  #run "cd #{latest_release}/vendor/assets && unzip -o #{latest_release}/vendor/assets/components.zip"
  run "cd #{latest_release} && bower install"
end

set :resque, queues: { "*" => 2 }

after 'deploy:update', 'deploy:cleanup'

after 'deploy:restart' do
  sudo "monit -g #{application}-resque restart"
end

他に役立つ情報があれば教えてください。ありがとう!

4

1 に答える 1

0

このhttps://github.com/wayneeseguin/rvm-capistrano#disabling-bundle---deployment-when-using-gemsetsを使用する必要があると 90% 確信しています:

set :bundle_dir, ''
set :bundle_flags, '--system --quiet'
于 2013-10-25T04:43:29.523 に答える