我没有对我的资产进行任何更改,现在突然间,当我执行git push heroku master时,它会对rake资产中止:precompile
... Preparing app for Rails asset pipeline Running: rake assets:precompile I, [2014-03-14T18:30:05.776041 #675] INFO -- : Writing /tmp/build_f664cf41-71b7-435d-b85e-8f607080a4d3/public/assets/application-0a41bdbc9b8fc13f1e62a69634eb2c98.js rake aborted! wrong number of arguments (2 for 1) (in /tmp/build_f664cf41-71b7-435d-b85e-8f607080a4d3/app/assets/stylesheets/application.css.scss) /tmp/build_f664cf41-71b7-435d-b85e-8f607080a4d3/vendor/bundle/ruby/2.0.0/gems/sass-3.2.14/lib/sass/importers/filesystem.rb:16:in `initialize' /tmp/build_f664cf41-71b7-435d-b85e-8f607080a4d3/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.0/lib/sprockets/sass_importer.rb:11:in `initialize' ... Tasks: TOP => assets:precompile (See full trace by running task with --trace) ! ! Precompiling assets failed. ! ! Push rejected, failed to compile Ruby app
它看起来像是在资产/样式表/ application.css.scss中错误的参数数量(2比1).但我的样式表中没有任何方法.这是那个文件:
/* * This is a manifest file that'll be compiled into application.css, which will include all the files * listed below. * * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path. * * You're free to add application-wide styles to this file and they'll appear at the top of the * compiled file, but it's generally better to create a new file per style scope. * *= require_self *= require_tree . */
在我的assets/stylesheets/custom.css.scss中,我在顶部有这个:
@import 'bootstrap'; @import 'bootstrap-responsive';
在我的config/application.rb文件中,我有:
config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif) config.assets.initialize_on_precompile = false
我已经执行了一个heroku运行rake资产:clobber,但没有帮助.
本地我的应用程序工作和功能完美.
这是我用来参考的一些宝石:
gem 'sass-rails' gem 'bootstrap-sass', '2.3.2.0' gem 'rails_12factor' gem 'compass_rails' gem 'jquery-rails' gem 'rails', '4.0.2'
有任何想法吗?
好.我发现了问题.
gem'sass-rails'使用的是版本3.2.14.通过更新到4.0.2,我可以在部署到Heroku时预编译我的资产.
一切都很好.