1

一个小时前我能够预编译资产,但现在 rake 任务正在中止。我还在另一个应用程序上检查它,它也在那里中止。我相当突然地中断了对 Heroku 的推送,并且从那时起就无法进行预编译。

bundle exec rake assets:precompile
rake aborted!
undefined method `prerequisites' for nil:NilClass
/Users/mm/Sites/quoraquora/Rakefile:7:in `<top (required)>'
(See full trace by running task with --trace)

rake 文件的第 7 行是这段代码 Enki::Application.load_tasks

require File.expand_path('../config/application', __FILE__)

Enki::Application.load_tasks

我也做了一个捆绑更新,但它没有改变任何东西。在尝试运行 rake 任务之前,我突然停止了对 Heroku 的推送,因为我忘记了编译资产。不确定这是否会导致任何事情。有趣的是,该应用程序仍然在 localhost 上运行。

我尝试在另一个应用程序上运行 bundle exec rake assets:precompile ,但我也遇到了一个错误,尽管另一个错误说即使安装了该 gem,它也无法找到“uglifier”。

bundle exec rake assets:precompile
/Users/mm/.rbenv/versions/1.9.3-p327/bin/ruby /Users/mm/.rbenv/versions/1.9.3-p327/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets
rake aborted!
cannot load such file -- uglifier
  (in /Users/mm/Sites/railshangman/app/assets/javascripts/admin.js)

Tasks: TOP => assets:precompile:primary
(See full trace by running task with --trace)
rake aborted!
Command failed with status (1): [/Users/mm/.rbenv/versions...]

Tasks: TOP => assets:precompile

这是第一次中止的完整跟踪。谁能解释一下?这个问题似乎超出了一个特定应用程序的范围,因为bundle exec rake assets:precompile一小时前每个应用程序都运行良好。

Macintosh-3:coffeelover mm$ bundle exec rake assets:precompile --trace
rake aborted!
undefined method `prerequisites' for nil:NilClass
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/rspec-rails-2.0.1/lib/rspec/rails/tasks/rspec.rake:3:in `<top (required)>'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:245:in `load'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:245:in `block in load'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:236:in `load_dependency'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/activesupport-3.2.11/lib/active_support/dependencies.rb:245:in `load'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/rspec-rails-2.0.1/lib/rspec-rails.rb:10:in `block in <class:Railtie>'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/railtie.rb:184:in `instance_exec'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/railtie.rb:184:in `block in load_tasks'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/railtie.rb:184:in `each'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/railtie.rb:184:in `load_tasks'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/engine.rb:423:in `block in load_tasks'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/application/railties.rb:8:in `each'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/application/railties.rb:8:in `all'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/engine.rb:423:in `load_tasks'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/application.rb:145:in `load_tasks'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/railties-3.2.11/lib/rails/railtie/configurable.rb:30:in `method_missing'
/Users/mm/Sites/coffeelover/Rakefile:7:in `<top (required)>'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/rake_module.rb:25:in `load'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/rake_module.rb:25:in `load_rakefile'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:583:in `raw_load_rakefile'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:89:in `block in load_rakefile'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:160:in `standard_exception_handling'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:88:in `load_rakefile'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:72:in `block in run'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:160:in `standard_exception_handling'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/rake-10.0.3/lib/rake/application.rb:70:in `run'
/Users/mm/.rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/rake-10.0.3/bin/rake:33:in `<top (required)>'
/Users/mm/.rbenv/versions/1.9.3-p327/bin/rake:23:in `load'
/Users/mm/.rbenv/versions/1.9.3-p327/bin/rake:23:in `<main>'
4

2 回答 2

0

尝试更新您的 rake 和 rspec-rails 版本

bundle update rspec-rails
bundle update rake
于 2013-01-24T03:48:59.543 回答
0

我不得不将我的 rspec-rails 版本更新到 2.6.0(从 2.0 开始)。奇怪的是,如果我删除 gemfile.lock 并进行捆绑更新,这不会自动发生。我必须在 Gemfile 中手动设置版本。

于 2013-01-25T16:59:34.277 回答