Rails 应用程序中的 Heroku/Zurb Foundation Sass SyntaxError

Posted

技术标签:

【中文标题】Rails 应用程序中的 Heroku/Zurb Foundation Sass SyntaxError【英文标题】:Heroku/Zurb Foundation Sass SyntaxError in Rails App 【发布时间】:2014-11-12 02:53:59 【问题描述】:

当我尝试推送到 Heroku 时,我的应用程序抛出了这个错误。看起来罪魁祸首是样式表中某处的流氓 !global 行,但我不确定源代码在哪里。

rake aborted!
Sass::SyntaxError: Invalid CSS after "...odules, $name) ": expected "", was "!global;"
   (in /tmp/build_6cf14c02-e49b-44e7-819c-871d5da3cf73/app/assets/stylesheets/framework_and_overrides.css.scss:13)

非常感谢任何帮助。

【问题讨论】:

您是否尝试转到 app/assets/stylesheets/framework_and_overrides.css.scss 的第 13 行并查看是否存在错误? 是的,但我怀疑是导入的“基础”表导致了问题 你使用的是什么版本的 Sass? 3.4.2,虽然我的 Gemfile 中没有指定它。 gemfile.lock 中的 sass 是否限制为 3.2.19? 【参考方案1】:

在 gem 文件中将基础导轨 gem 从 5.4.4.0 更改为 5.4.3.1

gem '基础导轨','5.4.3.1'

然后运行

捆绑更新

现在应该这样做,告诉他们修复它:)

另外:

至于查找文件“bundle show foundation-rails”使用查找器“转到文件夹”到路径并找到“_function.scss”它位于供应商资产样式表基础_function.scss下

我的两个答案都可以在 gustavo-beathyate 的链接中找到

关于heroku错误 确保您是否在要使用的资产中添加任何东西

rake assets:precompile RAILS_ENV=production

然后

当你按下时也使用 -f

git push -f heroku master

如果不只是使用

git push -f heroku master

【讨论】:

您有什么可以参考以获取更多详细信息吗? 您不应该创建新的答案来添加信息,您可以编辑自己的答案来执行此功能。 感谢 Knossos 对此感到抱歉【参考方案2】:

这里有一个解决方案:

http://foundation.zurb.com/forum/posts/19222-sass-syntax-error-on-rails

您基本上必须打开 gem 并修改 _functions.scss 中的 第 13 行,删除对 !global 的调用。

【讨论】:

嗯,我之前做过这个,它让应用程序在我的本地机器上运行。当我现在打开 _functions.scss 时,!global 不再存在,但是当我尝试部署到 Heroku 时仍然出现错误。【参考方案3】:

此问题现已通过 Foundation 的 v5.4.5 修复。有关该问题的更多背景信息,另请参阅 here。

【讨论】:

【参考方案4】:

升级到基础导轨 5.5.0.0 后,我得到了您的确切错误。我根据这篇文章更新了 sass-rails gem:https://***.com/a/27807138/1753903 并且错误消失了。

【讨论】:

以上是关于Rails 应用程序中的 Heroku/Zurb Foundation Sass SyntaxError的主要内容,如果未能解决你的问题,请参考以下文章

Rails 应用程序中的主题

如何在 Webpacker 中使用 Rails Url 助手/Rails 5.1 中的 React-rails

Rails 3 中的 Restful API

带有 websocket_rails gem 的 rails 应用程序中的方法 broadcast_message 不起作用

rails 3中的api身份验证

rails 3.1邮件程序中的asset_url