【问题标题】:heroku assets:precompile error for foundation sites $colorheroku 资产:基础站点 $color 的预编译错误
【发布时间】:2017-01-07 10:15:48
【问题描述】:

我有一个使用基础站点​​的“轨道角度”应用程序,我正在使用 bower 安装它。

每当我尝试推送到 heroku 时,它都会在运行 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)"

目前,我只好在推送之前在本地预编译资产,但这太麻烦了,我需要弄清楚这一点。

谢谢。

【问题讨论】:

    标签: ruby-on-rails angularjs heroku zurb-foundation bower


    【解决方案1】:

    我在本地运行我的 rails 应用程序时遇到了同样的问题。看起来此错误是由于 gem foundation-rails 6.2.4 和 6.3.0 之间的语法更改造成的。

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

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

    【讨论】:

    • 嗯...让我检查一下鲍尔的等价物...谢谢
    • 哦耶!!!!有效!我在bower.json 中将"foundation-sites": "latest", 更改为"foundation-sites": "~> 6.2.4",heroku 编译没有中断。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-20
    • 1970-01-01
    • 2015-03-26
    • 2015-08-28
    • 1970-01-01
    • 2013-03-26
    相关资源
    最近更新 更多