Rails:生产资产:预编译错误

时间:2016-06-14 09:10:25

标签: ruby-on-rails-4 heroku deployment asset-pipeline production

我正在尝试在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时,也会发生此错误。请帮助我理解是什么原因及其解决方案?

1 个答案:

答案 0 :(得分:0)

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

要解决DEPRECATION WARNING,请更新您的宝石,如下所示:

Asset pipeline DEPRECATION WARNING tsort.rb:226

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

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

RAILS_ENV=production bundle exec rake assets:precompile

并为所有其他css文件重复它以了解哪一个包含错误。这次此命令的输出将有所帮助,并完全参考问题。然后,很容易找到错误并修复它。