基金会网站 $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'
我有一个使用基础站点的 "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'