我正在尝试在Heroku上部署我的应用程序,但我不知道为什么会发生以下波纹错误。
我有gem 'rails_12factor', group: :production
所以我不使用config.serve_static_assets = true
和config.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
应用程序push
送到Heroku时,也会发生此错误。 请帮我了解原因和解决方案??
这是我找到的答案,希望它对其他人也有用。
要解决DEPRECATION WARNING,请按照以下方式更新您的宝石:
关于主要错误,您应该找到确切导致错误的文件。 错误输出和其中提到的文件具有误导性,不一定包含语法错误。
您可以使用assets.rb
文件来查找哪个文件包含语法错误。 在生产模式下,注释或删除assets.rb
中所有引用的文件,但其中一个是redo asset precompile命令:
RAILS_ENV=production bundle exec rake assets:precompile
并对其他所有css文件重复该操作,以了解哪个文件包含错误。 这次,此命令的输出将很有帮助,并且完全可以参考问题。 然后,很容易找到错误并进行修复。