导轨 - Heroku的编译失败青菜
我得到的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
而没有其他依赖关系?
确保production.rb有下面的代码,否则将其添加
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
config.assets.precompile += %w(*.css *.js)
我读了它应该没有它,否则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
尝试在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
固定它。
颠覆版本提示我的应用程序重新处理所有资产文件,这似乎重置了对某些文件的理解以及它们对变量的依赖。
转到文件config/initializers/assests.rb
附加线或更新。 Rails.application.config.assets.precompile += [/.*\.js/,/.*\.scss/]
和运行 bundle exec assets:precompile
可能相关:http://*.com/questions/17976140/false-positive-undefined-variable-error-when-compiling-scss/ – cimmanon 2015-02-08 19:13:56