2015-02-08 80 views
0

我得到的Heroku时试图编译我的Rails应用程序的资产的错误:导轨 - Heroku的编译失败青菜

remote: -----> Preparing app for Rails asset pipeline 
remote:  Running: rake assets:precompile 
remote:  rake aborted! 
remote:  Sass::SyntaxError: Undefined variable: "$btn-default-border". 
remote:  (in /tmp/build_8402012299c8c367a1dc15dd7f5cd85f/app/assets/stylesheets/auctions.css.scss:42) 
remote:  /tmp/build_8402012299c8c367a1dc15dd7f5cd85f/app/assets/stylesheets/auctions.css.scss:42 

当我运行rake assets:precompile本地它的工作原理。

这里我application.css.scss

/* 
* 
*= require bootstrap-datepicker3 
*/ 
@import "variables"; 
@import "bootstrap-sprockets"; 
@import "bootstrap"; 
@import "auctions"; 

auctions.css.scss

.form-control-feedback { 
    pointer-events: all; 

    &:hover { 
     cursor:pointer; 
     border: 1px solid $btn-default-border; 
     background: $gray-lighter; 
     border-radius: 5px; 
    } 
} 

为什么在Heroku在本地,但不工作? Heroku是否试图编译auctions.css.scss而没有其他依赖关系?

+0

可能相关:http://stackoverflow.com/questions/17976140/false-positive-undefined-variable-error-when-compiling-scss/ – cimmanon 2015-02-08 19:13:56

回答

0

确保production.rb有下面的代码,否则将其添加

# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added) 
    config.assets.precompile += %w(*.css *.js) 
+0

我读了它应该没有它,否则Rails将尝试编译'auctions.css.scss'而不加载依赖关系。无论如何我都会尝试并得到相同的错误。我还尝试在config/initializers/assets.rb中使用Rails.application.config.assets.precompile + =%w(application.js)Rails.application.config.assets.precompile + =%w(application.css)'和它也失败了。 – Charles 2015-02-08 19:06:08

2

尝试在config/initializers/assets.rb碰撞Rails.application.config.assets.version

我在我的应用程序清单文件中将Sprockets require改为@import行后,我的部署到Heroku的问题就出现了同样的问题。 (我有CSS规则优先级问题,并意识到我做错了什么本文针对我更好地约定:http://pivotallabs.com/structure-your-sass-files-with-import/

我在我的config/initializers/assets.rb碰撞的Rails.application.config.assets.version固定它。

颠覆版本提示我的应用程序重新处理所有资产文件,这似乎重置了对某些文件的理解以及它们对变量的依赖。

0

转到文件config/initializers/assests.rb

附加线或更新。 Rails.application.config.assets.precompile += [/.*\.js/,/.*\.scss/]

和运行 bundle exec assets:precompile