【问题标题】:Assets Precompile Error资产预编译错误
【发布时间】:2017-09-29 14:41:11
【问题描述】:

当我运行 rake RAILS_ENV=production assets:precompile --trace 来预编译我的资产以进行生产时,我收到了这个错误。我添加了 production.rb 文件。

Invoke assets:precompile (first_time)
Invoke assets:environment (first_time)
Execute assets:environment
Invoke environment (first_time)
Execute environment
rake aborted! 
No such middleware to insert before: ActionDispatch:Static

production.rb

Rails.application.configure do

  config.cache_classes = true


  config.eager_load = true


  config.consider_all_requests_local       = false
  config.action_controller.perform_caching = true

  config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?

  config.assets.js_compressor = :uglifier


  config.assets.compile = false

  config.server_static_assets = false

  config.log_level = :debug

  config.action_mailer.perform_caching = false

  config.log_formatter = ::Logger::Formatter.new


  if ENV["RAILS_LOG_TO_STDOUT"].present?
    logger           = ActiveSupport::Logger.new(STDOUT)
    logger.formatter = config.log_formatter
    config.logger = ActiveSupport::TaggedLogging.new(logger)
  end

  config.active_record.dump_schema_after_migration = false
end

这两天让我发疯了。任何帮助都是适当的。

【问题讨论】:

  • 你能给我们看看production.rb文件吗?
  • @Cyzanfar 我添加了 production.rb 文件。

标签: ruby-on-rails asset-pipeline precompile


【解决方案1】:

只是改变:

config.serve_static_assets = false

进入:

config.serve_static_files = false

如果有帮助,请告诉我。

【讨论】:

  • 尝试通过更改proudction.rb文件进行预编译时仍然出现同样的错误。
【解决方案2】:

我发现我查看了公共文件夹并清除了其中的内容,然后运行 ​​rails assets:precompile 并在文件名末尾创建了所有带有指纹的新文件。

我的 application.rb 中也有 config.middleware.insert_before ActionDispatch::Static, Rack::Deflater 我删除了这一行并加载了所有内容。

【讨论】:

    猜你喜欢
    • 2012-01-25
    • 2012-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    • 2014-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多