2012-09-18 48 views
1

在过去的几个小时里,我一直在绞尽脑汁解决这个问题。jQuery UI插件导致的资源预编译错误

我有运行rake assets:precompile RAILS_ENV=production --trace

一个问题,由于加入了jQuery用户界面的混进去。

// Libraries 
//= require externalLibraries/d3/d3.v2 
//= require externalLibraries/d3/d3.layout 
//= require jquery_ujs 
//= require jquery.ui.all 
//= require underscore 
//= require backbone 
//= require ../../../vendor/assets/javascripts/externalLibraries/highcharts/highcharts 
//= require_tree ../../../vendor/assets/javascripts/. 
// 
//= require reminder 
// 
//= require_tree ../templates 
//= require_tree ./models 
//= require_tree ./collections 
//= require_tree ./views 
//= require_tree ./routers 
//= require_directory . 

这里是跟踪:

** Invoke assets:precompile (first_time) 
** Execute assets:precompile 
/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby /usr/local/rvm/gems/[email protected]/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace 
** Invoke assets:precompile:all (first_time) 
** Execute assets:precompile:all 
** Invoke assets:precompile:primary (first_time) 
** Invoke assets:environment (first_time) 
** Execute assets:environment 
** Invoke environment (first_time) 
** Execute environment 
** Invoke tmp:cache:clear (first_time) 
** Execute tmp:cache:clear 
** Execute assets:precompile:primary 
rake aborted! 
Killed 

    (in /home/RailsApplications/TwilioApplications/releases/20120918052259/app/assets/javascripts/application.js) 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:142:in `exec_runtime' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:28:in `block in exec' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:41:in `compile_to_tempfile' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/execjs-1.4.0/lib/execjs/external_runtime.rb:27:in `exec' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/uglifier-1.3.0/lib/uglifier.rb:100:in `compile' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.6/lib/sprockets/compressors.rb:74:in `compress' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/processing.rb:265:in `block in js_compressor=' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/processor.rb:29:in `call' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/processor.rb:29:in `evaluate' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/tilt-1.3.3/lib/tilt/template.rb:76:in `render' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/context.rb:177:in `block in evaluate' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/context.rb:174:in `each' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/context.rb:174:in `evaluate' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/bundled_asset.rb:26:in `initialize' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:244:in `new' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:244:in `build_asset' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/index.rb:89:in `block in build_asset' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/caching.rb:19:in `cache_asset' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/index.rb:88:in `build_asset' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:163:in `find_asset' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/index.rb:56:in `find_asset' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.6/lib/sprockets/static_compiler.rb:23:in `block in compile' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:212:in `block in each_logical_path' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:200:in `block (2 levels) in each_file' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:190:in `each' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:190:in `each_entry' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:198:in `block in each_file' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:197:in `each' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:197:in `each_file' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/sprockets-2.1.3/lib/sprockets/base.rb:210:in `each_logical_path' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.6/lib/sprockets/static_compiler.rb:18:in `compile' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.6/lib/sprockets/assets.rake:56:in `internal_precompile' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.6/lib/sprockets/assets.rake:70:in `block (3 levels) in <top (required)>' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain' 
/usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.6/lib/sprockets/assets.rake:60:in `block (3 levels) in <top (required)>' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain' 
/usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>' 
/usr/local/rvm/gems/[email protected]/bin/rake:19:in `load' 
/usr/local/rvm/gems/[email protected]/bin/rake:19:in `<main>' 
Tasks: TOP => assets:precompile:primary 
rake aborted! 
Command failed with status (1): [/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/...] 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/file_utils.rb:53:in `block in create_shell_runner' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/file_utils.rb:45:in `call' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/file_utils.rb:45:in `sh' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb:39:in `sh' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/file_utils.rb:80:in `ruby' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb:39:in `ruby' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.6/lib/sprockets/assets.rake:12:in `ruby_rake_task' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.6/lib/sprockets/assets.rake:21:in `invoke_or_reboot_rake_task' 
/usr/local/rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.6/lib/sprockets/assets.rake:29:in `block (2 levels) in <top (required)>' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `block in execute' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `block in invoke_with_call_chain' 
/usr/local/rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block (2 levels) in top_level' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `block in top_level' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `block in run' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run' 
/usr/local/rvm/gems/[email protected]/gems/rake-0.9.2.2/bin/rake:33:in `<top (required)>' 
/usr/local/rvm/gems/[email protected]/bin/rake:19:in `load' 
/usr/local/rvm/gems/[email protected]/bin/rake:19:in `<main>' 
/usr/local/rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval' 
/usr/local/rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `<main>' 
Tasks: TOP => assets:precompile 

最奇怪的是,当我在我的开发环境中运行这个命令,它完全适用。

而在我的生产环境中,如果我删除了jquery ui引用,它会像平常一样继续,所以绝对是问题所在。这是我的Gemfile。

source 'https://rubygems.org' 

gem 'rails', '3.2.6' 

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

gem 'sqlite3' 


# Gems used only for assets and not required 
# in production environments by default. 
group :assets do 
    gem 'sass-rails', '~> 3.2.3' 
    # gem 'coffee-rails', '~> 3.2.1' 

    # See https://github.com/sstephenson/execjs#readme for more supported runtimes 
    # gem 'therubyracer', :platforms => :ruby 

    gem 'uglifier', '>= 1.0.3' 
    gem 'jquery-rails' 
    gem 'jquery-ui-rails' 
end 

group :development do 
    gem 'sunspot_solr' 
end 

group :development, :test do 
    gem 'jasmine' 
    gem 'jasminerice' 
    gem 'guard-jasmine' 
    gem 'rspec-rails' 
end 

group :test do 
    gem "factory_girl_rails" 
    gem "factory_girl" 
    gem "capybara" 
    gem "webrat" 
    gem "guard-rspec" 
    gem "spork", "> 0.9.0.rc" 
    gem "guard-spork" 
end 

# OAuth 
gem 'rack-oauth2' 
gem 'oauth2' 
gem 'omniauth' 
gem 'omniauth-facebook' 
gem 'doorkeeper' 

gem 'rack-pjax' 
gem 'sunspot_rails' 

gem 'rabl' 
gem 'paperclip' 
gem 'aws-sdk' 
gem 'aws-s3' 
gem 'd3_rails' 
gem 'backbone-on-rails' 


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

# To use Jbuilder templates for JSON 
# gem 'jbuilder' 

# Use unicorn as the app server 
gem 'unicorn' 
gem 'unicorn-rails' 
gem 'redis' 
gem 'redis-rails', '3.2.1' 
gem 'redis-store', '~> 1.1.0' 
gem 'redis-objects', :require => 'redis/objects' 

gem 'mysql2' 
gem 'resque', :require => 'resque/server' 
gem 'thin' 
gem 'localtunnel' 
gem 'twilio-ruby' 

gem 'will_paginate', '~> 3.0.beta' 

# Deploy with Capistrano 
gem 'capistrano' 

# To use debugger 
gem 'debugger' 

# To use in similarity calculations 
gem 'amatch' 
gem 'chronic' 

# Monitoring 
gem 'resque-pool' 
gem 'god' 

gem 'whenever' 

# Etc. stuff 
gem 'progress_bar' 

任何想法? (让我知道如果我失去了一些东西重要,因为我现在非常累)

感谢

+0

如果您运行rake资产,它会有所作为:在预编译之前在本地清理? – iouri

+0

无关的评论:你应该避免使用旧的aws-s3宝石与新的aws-sdk宝石。它们不是名称空间兼容的。回形针曾经依赖aws-s3。它现在依赖于aws-sdk。 –

回答

1

从您的Gemfile删除:

gem 'jquery-rails' 
    gem 'jquery-ui-rails' 

,并更改// =需要jquery.ui .all在你的application.js到// =要求jquery-ui

希望能对你有用!

0

在试图解决相同问题时遇到了这篇文章,所以我想我分享我的解决方案。

jquery-rails gem已经附带了jQuery UI,当您尝试启用此方式时,它将与jquery-ui-rails gem发生冲突,因此您必须选择使用哪个JQuery UI。结帐jquery-rails page并在下查看Rails 3.1及更高版本

这里就是我所做的:

(1)启用的application.js的jQuery UI的

//= jquery-ui 

(2)获取从jQuery的UI的轨道宝石

默认的主题( 2-1)在宝石文件中添加gem 'jquery-ui-rails'

(2-2)在application.css添加*= jquery.ui.all

您也可以从美乐家开发自己的主题并使用它。

0
gem 'jquery-rails', '~> 2.3.0' 

在应用中移除gem 'jquery-ui-rails'

//= require jquery-ui。js

修复了这个问题