2017-01-07 64 views
1

我有一个使用基础站点​​的“rails of rails”应用程序,我正在使用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)"

目前,我已经放弃了在推送之前在本地预编译资产,但它太累赘,我需要弄清楚。

谢谢。

回答

1

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

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

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

嗯......让我查的这相当于为凉亭...感谢 –

+1

哦Yeahhh !!!!有效!我在''bower.json''中更改了''基础站点':'latest',''到''foundation-sites':“〜> 6.2.4”',并且heroku编译没有中断。 –