Je reçois cette erreur sur mon serveur de production et je ne comprends pas pourquoi. Cela se produit lors de l'exécution de cette commande:
bundle exec rake assets:precompile Rails_ENV=production
J'utilise Rails 3.1.0.rc6
Ceci est probablement dû au fait que votre config/application.rb
ne nécessite pas Rails/all
(valeur par défaut), mais certaines exigences personnalisées le nécessitent.
Pour résoudre ce problème, ajoutez ce qui suit à config/application.rb
:
require 'sprockets/railtie'
Je sais que ceci est un ancien post, mais je pensais que cela pourrait aider quelqu'un (probablement mon avenir) si j'ajoutais cela aux réponses.
load 'deploy/assets'
require 'sprockets/railtie'
Je pense que c'est peut-être parce que vous n'avez pas besoin des gemmes d'actifs en production. Par défaut, Rails s'attend à ce que vous pré-compiliez vos ressources en production. Changez ceci dans config/application.rb:
Commentez cette ligne:
Bundler.require * Rails.groups (: assets =>% w (test de développement))
Et décommentez cette ligne:
Bundler.require (: default,: assets, Rails.env)
C'est étrange. Vous pouvez toujours essayer d'ajouter
load "sprockets/assets.rake"
à votre Rakefile. Il devrait être inclus dans l'actionpack railtie.
Mon Rakefile contient:
require File.expand_path('../config/application', __FILE__)
Qnm::Application.load_tasks
J'exécutais cette commande - par habitude - à la racine d'une application uniquement pour API, qui, bien entendu, ne contient aucun actif.