【问题标题】:Rails: Production assets:precompile errorRails:生产资产:预编译错误
【发布时间】:2016-10-14 22:16:32
【问题描述】:

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

【问题讨论】:

  • 错误清楚地显示“ SyntaxError: Invalid CSS after "}": expected selector or at-rule, was "}" (sass):86 " Check for syntax error in your css file 有多个为您服务的服务JigSaw, Css Lint
  • @ChiragArya 使用 JigSaw,即使对于像 bootstrap.css 这样的知名 css 文件也会产生许多错误!!!可能是因为不支持 webkit 之类的东西。
  • 如果您删除 css 文件然后尝试将您的应用程序推送到 heroku,这显然是 css 语法错误的问题,除非任何其他 css 文件中存在另一个错误,否则它将正常工作。您需要自己弄清楚,因为如果不查看您的 css 文件,就无法说出您的代码有什么问题。
  • @ChiragArya 即使从我的应用程序中删除所有这些 css 文件,我也会收到此错误!!:rake 中止! Sass::SyntaxError: Invalid CSS after "}": expected selector or at-rule, was "}" (sass):86 Tasks: TOP => assets:precompile(通过使用 --trace 运行任务查看完整跟踪)跨度>
  • DEPRECATION WARNING: The configuration option config.serve_static_assets` 已重命名为 config.serve_static_files 以阐明其角色(它仅支持为 public 文件夹中的所有内容提供服务,并且与资产管道无关)。 serve_static_assets 别名将在 Rails 5.0 中删除。请相应地迁移您的配置文件。 (从 /usr/local/lib/ruby/2.2.0/tsort.rb:226 的 tsort_each 块调用)rake 中止! Sass::SyntaxError: Invalid CSS after "}": 预期的选择器或规则,是 "}" (sass):86 任务:TOP => assets:precompile`

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


【解决方案1】:

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

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

Asset pipeline DEPRECATION WARNING tsort.rb:226

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

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

RAILS_ENV=production bundle exec rake assets:precompile

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-08
    • 1970-01-01
    • 2017-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多