简体   繁体   English

掠夺资产:预编译突然失败

[英]rake assets:precompile fails all of a sudden

I've made a change to my staging rails app. 我对登台导轨应用程序进行了更改。 I exchanged a header image and therefore wanted to precompile the assets again. 我交换了标头图片,因此希望再次进行预编译。 Last Friday it was still working and now after this tiny piece of change it suddenly fails. 上周五,它仍在工作,现在经过这一微小的更改后,它突然失败了。 I do that with a deploy script, that clones the git repository and then calls bundle install and the rake task for precompilation before moving the folder to /var/www. 我使用一个部署脚本来做到这一点,该脚本会克隆git存储库,然后在将文件夹移至/ var / www之前调用bundle install和rake任务进行预编译。 Manually calling the precompilation task in the webserver directory leads to the same error. 手动调用webserver目录中的预编译任务会导致相同的错误。

Config is: 配置为:

Ubuntu 12.04, nginx 1.4.7, ruby 1.9.3, rails 4.0.2 Ubuntu 12.04,nginx 1.4.7,ruby 1.9.3,rails 4.0.2

The error I get: 我得到的错误:

ubuntu@ip-xx-xxx-xx-xxx:/var/www/myproject-web$ RAILS_ENV=staging bundle exec rake --trace assets:precompile
** Invoke assets:precompile (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Execute assets:precompile
rake aborted!
Sprockets::FileNotFound: couldn't find file 'jquery.ui.tabs'
  (in /var/www/myproject-web/app/assets/javascripts/application.js:15)
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/context.rb:106:in `resolve'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/context.rb:146:in `require_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/directive_processor.rb:217:in `process_require_directive'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/directive_processor.rb:167:in `block in process_directives'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/directive_processor.rb:165:in `each'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/directive_processor.rb:165:in `process_directives'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/directive_processor.rb:99:in `evaluate'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/tilt-1.4.1/lib/tilt/template.rb:103:in `render'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/context.rb:197:in `block in evaluate'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/context.rb:194:in `each'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/context.rb:194:in `evaluate'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/processed_asset.rb:12:in `initialize'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/base.rb:374:in `new'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/base.rb:374:in `block in build_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/base.rb:395:in `circular_call_protection'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/base.rb:373:in `build_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/index.rb:94:in `block in build_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/caching.rb:58:in `cache_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/index.rb:93:in `build_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/base.rb:287:in `find_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/index.rb:61:in `find_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/bundled_asset.rb:16:in `initialize'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/base.rb:377:in `new'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/base.rb:377:in `build_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/index.rb:94:in `block in build_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/caching.rb:58:in `cache_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/index.rb:93:in `build_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/base.rb:287:in `find_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/index.rb:61:in `find_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:211:in `block in find_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:257:in `benchmark'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:210:in `find_asset'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:119:in `block in compile'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:118:in `each'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/sprockets/manifest.rb:118:in `compile'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-rails-2.0.1/lib/sprockets/rails/task.rb:60:in `block (3 levels) in define'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-2.11.0/lib/rake/sprocketstask.rb:146:in `with_logger'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/sprockets-rails-2.0.1/lib/sprockets/rails/task.rb:59:in `block (2 levels) in define'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/task.rb:240:in `call'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/task.rb:240:in `block in execute'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/task.rb:235:in `each'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/task.rb:235:in `execute'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/usr/local/rvm/rubies/ruby-1.9.3-p484/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/task.rb:165:in `invoke'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/application.rb:150:in `invoke_task'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/application.rb:106:in `block (2 levels) in top_level'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/application.rb:106:in `each'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/application.rb:106:in `block in top_level'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/application.rb:115:in `run_with_threads'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/application.rb:100:in `top_level'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/application.rb:78:in `block in run'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/application.rb:176:in `standard_exception_handling'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/lib/rake/application.rb:75:in `run'
/usr/local/rvm/gems/ruby-1.9.3-p484/gems/rake-10.3.2/bin/rake:33:in `<top (required)>'
/usr/local/rvm/gems/ruby-1.9.3-p484/bin/rake:23:in `load'
/usr/local/rvm/gems/ruby-1.9.3-p484/bin/rake:23:in `<main>'
/usr/local/rvm/gems/ruby-1.9.3-p484/bin/ruby_executable_hooks:15:in `eval'
/usr/local/rvm/gems/ruby-1.9.3-p484/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => assets:precompile

Didn't change anything in my application.js since the last successful precompile 自上次成功进行预编译以来,我的application.js中没有发生任何更改

//= require jquery
//= require jquery_ujs
//= require jquery.ui.tabs
//= require jquery.ui.dialog
//= require knockout-3.0.0
//= require jquery.jplayer.min

//= require_tree . 

The Gemfile was also NOT touched. Gemfile也没有被触及。

gem 'rails', '4.0.2'
gem 'pg'
gem 'sass-rails', '~> 4.0.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'jquery-ui-rails'
gem 'jbuilder', '~> 1.2'
group :doc do
    gem 'sdoc', require: false
end
gem 'bcrypt-ruby', '~> 3.1.2'
gem 'right_aws'
gem 'devise'
gem 'devise_invitable'
gem 'cancan'
gem 'will_paginate'
gem 'asset_sync'
gem 'unf'
gem 'koala', '~> 1.10.0rc'
gem 'httparty'

Does anyone experience the same bahaviour? 有人会经历相同的行为吗? What could cause this error? 是什么导致此错误?

Jquery ui changed how it's included the other day jQuery UI更改了前几天的收录方式

Change it to in application.js: 将其更改为application.js:

//= require jquery-ui/dialog
//= require jquery-ui/tabs

If you need the css 如果您需要CSS

*= require jquery-ui/dialog
*= require jquery-ui/tabs

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM