Rails:生产 assets:precompile 错误

Rails: Production assets:precompile error

我正在尝试在 Heroku 上部署我的应用程序,但我不知道为什么会出现以下错误。

我有 gem 'rails_12factor', group: :production,所以我不使用 config.serve_static_assets = trueconfig.assets.initialize_on_precompile,因为在文档中解释说 Rails 不需要它们 4.

当我分别执行这两条命令时:

bundle exec rake assets:precompile

RAILS_ENV=production bundle exec rake assets:precompile

我收到这个错误。

DEPRECATION WARNING: The configuration option `config.serve_static_assets` has been renamed to `config.serve_static_files` to clarify its role (it merely enables serving everything in the `public` folder and is unrelated to the asset pipeline). The `serve_static_assets` alias will be removed in Rails 5.0. Please migrate your configuration files accordingly. (called from block in tsort_each at /usr/local/lib/ruby/2.2.0/tsort.rb:226)
I, [2016-06-14T13:21:21.336814 #10455]  INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/font-awesome.min-1c15db9e10c99a36820b80616445a837a002b3f3969047f3375fba65f8fef2ba.css
I, [2016-06-14T13:21:21.337563 #10455]  INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/font-awesome.min-1c15db9e10c99a36820b80616445a837a002b3f3969047f3375fba65f8fef2ba.css.gz
I, [2016-06-14T13:21:21.341449 #10455]  INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/bootstrap.min-139ad6ac9cbd7b8cd15fa3f80b9b69e3ead570cb9686b3bb42b73a19ed62dcef.css
I, [2016-06-14T13:21:21.343432 #10455]  INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/bootstrap.min-139ad6ac9cbd7b8cd15fa3f80b9b69e3ead570cb9686b3bb42b73a19ed62dcef.css.gz
I, [2016-06-14T13:21:21.400914 #10455]  INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/jquery.fancybox-9eb4dcf39f4ad63c3bff3f55e2a0e5e8a32578cc4553c94633ce0ccdc08c2bea.css
I, [2016-06-14T13:21:21.401335 #10455]  INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/jquery.fancybox-9eb4dcf39f4ad63c3bff3f55e2a0e5e8a32578cc4553c94633ce0ccdc08c2bea.css.gz
I, [2016-06-14T13:21:21.405283 #10455]  INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/animate-0af100ee0144b8c4dc6de8605097b0920d4ea4aad067cc34fbaa7ab525d4e6a8.css
I, [2016-06-14T13:21:21.405707 #10455]  INFO -- : Writing /home/rails/Desktop/hammasir/public/assets/animate-0af100ee0144b8c4dc6de8605097b0920d4ea4aad067cc34fbaa7ab525d4e6a8.css.gz
rake aborted!
Sass::SyntaxError: Invalid CSS after "}": expected selector or at-rule, was "}"
(sass):86
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)

我调试并检查了其中一个文件,但没有发现任何错误,例如忘记使用 ), } 或 ; .另外,我清理了其中一个的全部内容并用一个简单的 CSS 规则替换它,但我仍然收到错误!!

当我尝试 push 我的应用程序到 Heroku 时,也会发生此错误。请帮助我了解原因及其解决方案?

这是我找到的答案,希望对其他人也有用。

要解决弃用警告,请按以下方式更新您的宝石:

关于主要错误,你应该找到具体是哪个文件导致的错误。错误输出和其中提到的文件具有误导性,不一定包含语法错误。

您可以使用您的 assets.rb 文件来查找哪个文件(文件)包含语法错误。注释或删除 assets.rb 中所有引用的文件,除了一个,在您的生产模式下重做资产预编译命令:

RAILS_ENV=production bundle exec rake assets:precompile

并对所有其他 css 文件重复此操作以了解哪个包含错误。这次此命令的输出会有所帮助,并准确地指出问题所在。然后,很容易找到错误并修复它。