我在生产服务器上遇到了这个错误,但不知道为什么。运行此命令时会发生这种情况:
bundle exec rake assets:precompile RAILS_ENV=production
我正在使用 Rails 3.1.0.rc6
我在生产服务器上遇到了这个错误,但不知道为什么。运行此命令时会发生这种情况:
bundle exec rake assets:precompile RAILS_ENV=production
我正在使用 Rails 3.1.0.rc6
这很可能是由于您config/application.rb
不需要rails/all
(默认),但有些自定义需要。
要解决此问题,请将以下内容添加到config/application.rb
:
require 'sprockets/railtie'
我知道这是一篇旧帖子,但我认为如果我将其添加到答案中,它可能会对某人(可能是我未来的自己)有所帮助。
load 'deploy/assets'
require 'sprockets/railtie'
我在一个纯 API 应用程序的根目录中运行这个命令 - 纯粹出于习惯 - 当然,它没有资产。
我认为这可能是因为您不需要生产中的资产宝石。默认情况下,rails 期望您在生产环境中预编译资产。在 config/application.rb 中更改它:
注释掉这一行:
Bundler.require *Rails.groups(:assets => %w(开发测试))
并取消注释这一行:
Bundler.require(:default, :assets, Rails.env)
那很奇怪。您可以随时尝试添加
load "sprockets/assets.rake"
到你的 Rakefile。它应该包含在 actionpack railtie 中。
我的 Rakefile 包含:
require File.expand_path('../config/application', __FILE__)
Qnm::Application.load_tasks