2012-04-11 80 views
1

我不能完全弄清楚爲什麼我不斷收到與我的資產預編譯相關的錯誤。從我已經能夠從在線文檔中推論出來的,我所需要做的就是將rake預編譯任務添加到我的deploy.rb文件中,確保已安裝javascript運行時gem,將線路負載「deploy/assets」添加到我的capfile和capistrano應該在運行cap deploy:update時預先編譯我的資產服務器端。任何人都可以幫助我診斷我在部署輸出中收到的錯誤消息嗎?在此先感謝任何能夠幫助我的人!非常感謝!診斷導軌應用程序資產預編譯錯誤

* executing `deploy:assets:precompile' 
    * executing "cd /usr/local/www/sites/project.example.ca/releases/20120411192244 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile" 
    servers: ["project.example.ca"] 
    [project.example.ca] executing command 
    [project.example.ca] rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell '[email protected]' -c 'cd /usr/local/www/sites/project.example.ca/releases/20120411192244 && bundle exec rake RAILS_ENV=production RAILS_GROUPS=assets assets:precompile' 
*** [err :: project.example.ca] /usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby /usr/local/www/sites/project.example.ca/shared/bundle/ruby/1.9.1/bin/rake assets:precompile:nondigest RAILS_ENV=production RAILS_GROUPS=assets 
*** [err :: project.example.ca] 
    command finished in 30843ms 
    * executing `deploy:create_symlink' 
    * executing `deploy:symlink' 
    triggering before callbacks for `deploy:symlink' 
    * executing `assets:precompile' 
    * executing "cd /usr/local/www/sites/project.example.ca/releases/20120411192244 && bundle exec rake RAILS_ENV=production assets:precompile" 
    servers: ["project.example.ca"] 
    [project.example.ca] executing command 
    [project.example.ca] rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell '[email protected]' -c 'cd /usr/local/www/sites/project.example.ca/releases/20120411192244 && bundle exec rake RAILS_ENV=production assets:precompile' 
*** [err :: project.example.ca] /usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby /usr/local/www/sites/project.example.ca/shared/bundle/ruby/1.9.1/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets 
*** [err :: project.example.ca] 
*** [err :: project.example.ca] /usr/local/rvm/rubies/ruby-1.9.2-p290/bin/ruby /usr/local/www/sites/project.example.ca/shared/bundle/ruby/1.9.1/bin/rake assets:precompile:nondigest RAILS_ENV=production RAILS_GROUPS=assets 
*** [err :: project.example.ca] 
    command finished in 45033ms 
[Deprecation Warning] This API has changed, please hook `deploy:create_symlink` instead of `deploy:symlink`. 
    * executing "rm -f /usr/local/www/sites/project.example.ca/current && ln -s /usr/local/www/sites/project.example.ca/releases/20120411192244 /usr/local/www/sites/project.example.ca/current" 
    servers: ["project.example.ca"] 
    [project.example.ca] executing command 
    [project.example.ca] rvm_path=/usr/local/rvm /usr/local/rvm/bin/rvm-shell '[email protected]' -c 'rm -f /usr/local/www/sites/project.example.ca/current && ln -s /usr/local/www/sites/project.example.ca/releases/20120411192244 /usr/local/www/sites/project.example.ca/current' 
    command finished in 2968ms 
** transaction: commit 

這是我的部署文件:

$:.unshift(File.expand_path('./lib', ENV['rvm_path'])) # Add RVM's lib directory to the load path. 
require "rvm/capistrano"     # Load RVM's capistrano plugin. 
require "bundler/capistrano" 

set :application, "Project" 

set :scm, "git" 
set :repository, "ssh://[email protected]server.example.ca/usr/local/git_root/project.git" 
set :user, "deploy" 

#set :rvm_bin_path, "/usr/local/rvm/bin" 
set :rvm_ruby_string, "[email protected]" 
set :normalize_asset_timestamps, false 

ssh_options[:forward_agent] = true 

set :branch, "master" 

set :deploy_via, :remote_cache 

# If you aren't deploying to /u/apps/#{application} on the target 
# servers (which is the default), you can specify the actual location 
# via the :deploy_to variable: 
set :deploy_to, "/usr/local/www/sites/project.example.ca/" 

set :use_sudo, false 

set :domain, 'project.example.ca' 

role :app, domain 
role :web, domain 
role :db, domain, :primary => true 

before "deploy:symlink", "assets:precompile" 

namespace :assets do 
    desc "Compile assets" 
    task :precompile, :roles => :app do 
    run "cd #{release_path} && bundle exec rake RAILS_ENV=#{rails_env} assets:precompile" 
    end 
end 

這是我的Capfile:

load 'deploy' if respond_to?(:namespace) # cap2 differentiator 
Dir['vendor/plugins/*/recipes/*.rb'].each { |plugin| load(plugin) } 
load 'config/deploy' 
load 'deploy/assets' 

而且這裏是我的Gemfile:

source 'http://rubygems.org' 

gem 'rails', '3.1.3' 

# Bundle edge Rails instead: 
# gem 'rails',  :git => 'git://github.com/rails/rails.git' 

gem 'gravatar_image_tag', '1.0.0.pre2' 
gem 'will_paginate', '~> 3.0.2' 
gem 'json' 
gem 'yaml_db' 
gem 'mysql' 
gem 'rake' 

group :development do 
gem 'rspec-rails', '2.6.1' 
gem 'annotate', '2.4.0' 
gem 'faker', '0.3.1' 
end 

group :test do 
gem 'rspec-rails', '2.6.1' 
gem 'webrat', '0.7.1' 
gem 'spork', '0.9.0.rc8' 
gem 'factory_girl_rails', '1.0' 
end 

# Gems used only for assets and not required 
# in production environments by default 
group :assets do 
    gem 'execjs' 
    gem 'therubyracer', :platforms => :ruby 
    gem 'sass-rails', '~> 3.1.5' 
    gem 'coffee-rails', '~> 3.1.1' 
    gem 'uglifier', '>= 1.0.3' 
end 

gem 'jquery-rails' 

# To use ActiveModel has_secure_password 
# gem 'bcrypt-ruby', '~> 3.0.0' 

# Use unicorn as the web server 
# gem 'unicorn' 

# Deploy with Capistrano 
gem 'capistrano' 
+1

有在您貼上了輸出沒有錯誤 - 有什麼不工作? – 2012-04-11 20:22:48

+0

哦,我認爲這個*** [err :: project.example.ca]指出了一個錯誤,可能會解釋爲什麼我會得到「我們很抱歉,但出了點問題。我們已收到有關此問題的通知,我們會稍後再看看「。 – 2012-04-12 19:27:07

+0

對不起。那不清楚。當我嘗試在瀏覽器中加載我的應用網址時,我收到了「我們很抱歉,但出現了問題,我們已收到關於此問題的通知,我們很快就會看到」。 – 2012-04-12 19:40:43

回答

0

試試這個:

運行 「CD#{} release_path & &束EXEC耙RAILS_ENV =#{} RAILS_ENV資產:預編譯2>的/ dev/null的」