首页 > 解决方案 > 检测 css 文件和 ruby​​ on rails 中的语法错误。无效的 CSS

问题描述

尝试将我的代码推送到 heroku 时遇到问题。我跑了:

RAILS_ENV=production bundle exec rake assets:precompile

并得到这个错误:

Sass::SyntaxError: Invalid CSS after "  color: #f19f4d;5": expected "{", was ";"
(sass):916

我知道我的 css 中某处存在语法错误,但我浏览了所有文件但找不到这一行。有人可以告诉我是否有办法找到这条线或它可能在哪里。太感谢了!

标签: cssruby-on-railsruby

解决方案


如果您使用的是 Bootstrap,它依赖于 jQuery,因此您需要确保将其包含在您的应用程序样式表中,例如在app/assets/stylesheets文件顶部以及在您需要的任何引导程序包含或导入之前

//*= require jquery-ui

如果这不是问题,则由于某种语法错误,thaen 预编译失败。f19f4d首先通过对代码进行全文搜索来尝试在代码中出现任何情况。如果你有一个基于 *nix 的系统,你可以从终端尝试其中任何一个,

如果你使用 git 版本控制

git grep f19f4d

要不就

grep f19f4d

如果这没有成为罪魁祸首,那么它一定是第三方依赖。您需要检查 CSS 中的所有内容。签入您的布局文件。你应该有类似的东西

<%= stylesheet_link_tag "application" %>

所以然后打开文件app/assets/stylesheets/application.scss 然后您需要注释掉任何包含并将它们一一添加,直到找到导致预编译失败的库。您需要对每个布局和/或样式表执行此操作,直到找到导致问题的原因。

在每个样式表的顶部,您应该有一个包含列表,例如

  @import 'bootstrap';

或者它们可能看起来更像这样:

//*= require jquery-ui

因此,要评论它们不加载,您可以在测试时使它们像这样。

// @import 'bootstrap';

// require jquery-ui

如果你到处都有很多 3rd 方的东西,你可能会遇到其他编译错误,但你必须在某个地方找到错误。


推荐阅读