0
使用Capistrano 2.15與rbenv,配置/部署/ production.rb有:Capistrano的2 delayed_job的任務未能使用RBEnv配置的紅寶石
set :bundle_flags, "--deployment --quiet --binstubs"
set :default_environment, {
'RAILS_ENV' => 'production',
'RBENV_ROOT' => "$HOME/.rbenv",
'PATH' => "$RBENV_ROOT/shims:$RBENV_ROOT/bin:$PATH"
}
在配置/ deploy.rb測試任務紅寶石環境和版本:
# Test Ruby Environment
desc "Test Ruby Environment"
task :test_ruby_environment, :roles => :app do
run "env; ruby -v"
end
的cap test_ruby_environment
的輸出將省略的路徑中$ RBENV_ROOT目錄:
** [out :: ex.org] RBENV_ROOT=/home/app/.rbenv
** [out :: ex.org] PATH=/shims:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
當我需要通過rbenv配置的紅寶石 的delayed_job(3.0.5)守護程序運行的系統紅寶石。這方面的證據是一個錯誤跟蹤從delayed_job的:
/home/app/shared/bundle/ruby/1.8/gems/delayed_job-3.0.5/lib/delayed/backend/base.rb:95:in `invoke_job'
這說明系統安裝1.8寶石來源。
爲什麼這不拾取rbenv配置的紅寶石?