部署 – Capistrano编译资产错误 – 资产:预编译:非文化?

前端之家收集整理的这篇文章主要介绍了部署 – Capistrano编译资产错误 – 资产:预编译:非文化?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的应用程序似乎正在正确部署,但我收到此错误
* executing "cd /home/deploy/tomahawk/releases/20120208222225 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile"
    servers: ["ip_address"]
    [ip_address] executing command
*** [err :: ip_address] /opt/ruby/bin/ruby /opt/ruby/bin/rake assets:precompile:nondigest RAILS_ENV=production RAILS_GROUPS=assets

我在这里试过尝试编译资产的解决方案:http://lassebunk.dk/2011/09/03/getting-your-assets-to-work-when-upgrading-to-rails-3-1/

在这里:http://railsmonkey.net/2011/08/deploying-rails-3-1-applications-with-capistrano/

在这里:@L_403_2@

这是我的deploy.rb:

require "bundler/capistrano"
load 'deploy/assets'

set :default_environment,{
 'PATH' => "/opt/ruby/bin/:$PATH"
}

set :application,"tomahawk"
set :repository,"repo_goes_here"
set :deploy_to,"/home/deploy/#{application}"
set :rails_env,'production'
set :branch,"master"

set :scm,:git
set :user,"deploy"
set :runner,"deploy"
set :use_sudo,true

role :web,"my_ip"                         
role :app,"my_ip"                        
role :db,"my_ip",:primary => true 

set :normalize_asset_timestamps,false
after "deploy","deploy:cleanup"

namespace :deploy do
    desc "Restarting mod_rails with restart.txt"
    task :restart,:roles => :app,:except => { :no_release => true } do
        run "touch #{current_path}/tmp/restart.txt"
    end

    [:start,:stop].each do |t|
        desc "#{t} task is a no-op with mod_rails"
        task t,:roles => :domain do ; end
    end
end

task :after_update_code do  
run "ln -nfs #{deploy_to}/shared/config/database.yml #{release_path}/config/database.yml"
end

解决方法

首先不要忘记在下面添加宝石
group :production do
 gem 'therubyracer'
 gem 'execjs'
end

然后在你的cap文件中只需在after_update_code中添加这一行

run "cd #{release_path}; rake assets:precompile RAILS_ENV=production "

这对我来说很好;)

干杯,

Gregory HORION

猜你在找的Ruby相关文章