2013-07-31 195 views
2

我有一個Capistrano腳本正在將我的應用程序部署到Amazon EC2機器。Capistrano Rails資產預編譯錯誤

* executing "cd -- /home/ec2-user/uc_social_server/releases/20130731161645 && RAILS_ENV=production RAILS_GROUPS=assets rake assets:precompile" 
    servers: ["ec2-23-22-188-11.compute-1.amazonaws.com"] 
    [ec2-23-22-188-11.compute-1.amazonaws.com] executing command 
** [out :: ec2-23-22-188-11.compute-1.amazonaws.com] Could not find thread_safe-0.1.0 in any of the sources 
** [out :: ec2-23-22-188-11.compute-1.amazonaws.com] 
** [out :: ec2-23-22-188-11.compute-1.amazonaws.com] Run `bundle install` to install missing gems. 
** [out :: ec2-23-22-188-11.compute-1.amazonaws.com] 
    command finished in 591ms 
*** [deploy:update_code] rolling back 
    * executing "rm -rf /home/ec2-user/uc_social_server/releases/20130731161645; true" 
    servers: ["ec2-23-22-188-11.compute-1.amazonaws.com"] 
    [ec2-23-22-188-11.compute-1.amazonaws.com] executing command 
    command finished in 201ms 
failed: "sh -c 'cd -- /home/ec2-user/uc_social_server/releases/20130731161645 && RAILS_ENV=production RAILS_GROUPS=assets rake assets:precompile'" on ec2-23-22-188-11.compute-1.amazonaws.com 

回答

2

添加以下內容deploy.rb

require "bundler/capistrano" 
require "rvm/capistrano" 
before "deploy:assets:precompile", "bundle:install" 

並按照以Capfile

load 'deploy/assets' 

並按照以Gemfile中

gem 'rvm-capistrano' 

解決:編譯時對IT資產失敗這個問題對我來說。如果你不使用rvm,也許你不需要rvm/capistrano或者rvm-capistrano寶石。

1

此行添加到您的Capfile

require 'capistrano/bundler'