基金会网站 $color 的 heroku assets:precompile 错误

heroku assets:precompile error for foundation sites $color

我有一个使用基础站点​​的 "angular of rails" 应用程序,我正在使用 Bower 安装它。

每当我尝试推送到 heroku 时,它都会在 运行ning rake assets:precompile 中断并出现以下错误:

remote:        rake aborted!
remote:        Sass::SyntaxError: $color: "foreground(#09798e)" is not a color for `red'
remote:        /tmp/build_2017bed0c047fd92960507e2e0ee8a54/vendor/assets/bower_components/foundation-sites/scss/util/_color.scss:19:in `foundation-badge'
remote:        /tmp/build_2017bed0c047fd92960507e2e0ee8a54/app/assets/stylesheets/foundation_and_overrides.scss:21
remote:        /tmp/build_2017bed0c047fd92960507e2e0ee8a54/app/assets/stylesheets/cguides.scss:1
remote:        /tmp/build_2017bed0c047fd92960507e2e0ee8a54/vendor/bundle/ruby/2.3.0/gems/sass-3.4.22/lib/sass/script/tree/funcall.rb:310:in `reformat_argument_error'
remote:        /tmp/build_2017bed0c047fd92960507e2e0ee8a54/vendor/bundle/ruby/2.3.0/gems/sass-3.4.22/lib/sass/script/tree/funcall.rb:149:in `rescue in _perform'
remote:        /tmp/build_2017bed0c047fd92960507e2e0ee8a54/vendor/bundle/ruby/2.3.0/gems/sass-3.4.22/lib/sass/script/tree/funcall.rb:123:in `_perform'
remote:        /tmp/build_2017bed0c047fd92960507e2e0ee8a54/vendor/bundle/ruby/2.3.0/gems/sass-3.4.22/lib/sass/script/tree/node.rb:58:in `perform'
remote:        /tmp/build_2017bed0c047fd92960507e2e0ee8a54/vendor/bundle/ruby/2.3.0/gems/sass-3.4.22/lib/sass/script/tree/list_literal.rb:63:in `block in _perform'
remote:        /tmp/build_2017bed0c047fd92960507e2e0ee8a54/vendor/bundle/ruby/2.3.0/gems/sass-3.4.22/lib/sass/script/tree/list_literal.rb:63:in `map'
remote:        /tmp/build_2017bed0c047fd92960507e2e0ee8a54/vendor/bundle/ruby/2.3.0/gems/sass-3.4.22/lib/sass/script/tree/list_literal.rb:63:in `_perform'
remote:        /tmp/build_2017bed0c047fd92960507e2e0ee8a54/vendor/bundle/ruby/2.3.0/gems/sass-3.4.22/lib/sass/script/tree/node.rb:58:in `perform'
remote:        /tmp/build_2017bed0c047fd92960507e2e0ee8a54/vendor/bundle/ruby/2.3.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:471:in `visit_variable'
remote:        /tmp/build_2017bed0c047fd92960507e2e0ee8a54/vendor/bundle/ruby/2.3.0/gems/sass-3.4.22/lib/sass/tree/visitors/base.rb:36:in `visit'
remote:        /tmp/build_2017bed0c047fd92960507e2e0ee8a54/vendor/bundle/ruby/2.3.0/gems/sass-3.4.22/lib/sass/tree/visitors/perform.rb:160:in `block in visit'
...

然而,当我在本地 运行 RAILS_ENV=production bundle exec rake assets:precompile 时,它顺利通过,让我完全困惑。

在我的 bower.json 文件中,我有:"foundation-sites": "latest",

但是我只想说,当我输入 heroku bash 并检查 vendor/assets/bower_components/foundation-sites/scss/util/_color.scss 的内容时,它与我的本地版本略有不同。但文件中没有提到投诉的$color: "foreground(#09798e)"

目前,我已经放弃了在推送之前在本地预编译资产,但它变得太麻烦了,我需要解决这个问题。

谢谢。

我在本地 运行 我的 rails 应用程序遇到了同样的问题。看起来这个错误是由于 gem foundation-rails 6.2.4 和 6.3.0.

之间的语法更改造成的

我通过在我的 Gemfile 中指定 6.2.4 来解决这个问题:

gem 'foundation-rails', '~> 6.2.4'