How to build task 'assets:precompile'

I'm getting that error on my production server, and can't figure out why. It happens when running this command:

bundle exec rake assets:precompile RAILS_ENV=production

I'm using Rails 3.1.0.rc6

Answers


This is most likely due your config/application.rb not requiring rails/all (the default), but some custom requires.

To resolve this, add the following to config/application.rb:

require 'sprockets/railtie'

I know this is an old post but I thought it might help someone (probably my future self) if I added this to the answers.

add to Capfile (or deploy.rb)
load 'deploy/assets'
add this to application.rb
require 'sprockets/railtie'

I think that it might be because you aren't requiring the asset gems in production. By default rails expects that you are pre-compiling your assets in production. Change this in config/application.rb:

Comment out this line:

Bundler.require *Rails.groups(:assets => %w(development test))

And uncomment this line:

Bundler.require(:default, :assets, Rails.env)


That's strange. You could always try adding

load "sprockets/assets.rake"

to your Rakefile. It should be included by the actionpack railtie.

My Rakefile contains:

require File.expand_path('../config/application', __FILE__)
Qnm::Application.load_tasks

I was running this command -- out of sheer habit -- in the root of an API-only app, which, of course, has no assets.


Need Your Help

array_flip():Can only flip STRING and INTEGER values! in DrupalDefaultEntityController->load()

arrays drupal drupal-modules php

I have recently migrated my module to Drupal7 (on PHP Version 5.3.1) and now I am getting following errors: