Heroku:保存缓存时遇到错误

一切都在当地工作正常,但推到Heroku时:

Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/bc1b787c8640c68bf42fc69efbef227d36428060/_carousel.scssc: can't dump anonymous class # Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/bc1b787c8640c68bf42fc69efbef227d36428060/_hero-unit.scssc: can't dump anonymous class # Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/bc1b787c8640c68bf42fc69efbef227d36428060/_utilities.scssc: can't dump anonymous class # Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/5b1569a9810eac207f22942f2921f0820863a2d6/exams.css.scssc: can't dump anonymous class # Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/5b1569a9810eac207f22942f2921f0820863a2d6/home.css.scssc: can't dump anonymous class # Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/5b1569a9810eac207f22942f2921f0820863a2d6/lessons.css.scssc: can't dump anonymous class # Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/5b1569a9810eac207f22942f2921f0820863a2d6/questions.css.scssc: can't dump anonymous class # Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/5b1569a9810eac207f22942f2921f0820863a2d6/scaffolds.css.scssc: can't dump anonymous class # Warning. Error encountered while saving cache /tmp/build_1b5c442a-d24e-4f80-9755-a0bd15d7f029/tmp/cache/sass/5b1569a9810eac207f22942f2921f0820863a2d6/sections.css.scssc: can't dump anonymous class # 

最终我得到:

  Warning. Error encountered while saving cache /tmp/build_ccaceaf0-2d8f-4d84-8284-9f5fcb7ced3f/tmp/cache/sass/6b13061e65d1f1cd905accb7f7211a333a70c956/sections.css.scssc: can't dump anonymous class # DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from  at /tmp/build_ccaceaf0-2d8f-4d84-8284-9f5fcb7ced3f/Rakefile:7) DEPRECATION WARNING: You have Rails 2.3-style plugins in vendor/plugins! Support for these plugins will be removed in Rails 4.0. Move them out and bundle them in your Gemfile, or fold them in to your app as lib/myplugin/* and config/initializers/myplugin.rb. See the release notes for more on this: http://weblog.rubyonrails.org/2012/1/4/rails-3-2-0-rc2-has-been-released. (called from  at /tmp/build_ccaceaf0-2d8f-4d84-8284-9f5fcb7ced3f/Rakefile:7) ! Timed out compiling Ruby app (15 minutes) ! See https://devcenter.heroku.com/articles/slug-compiler#time-limit 

我只粘贴了它出现次数的一小部分。

我的gemfile:

 ruby '2.0.0' gem 'rails', '3.2.11' group :assets do gem 'sass-rails' #, '~> 3.2.3' gem 'coffee-rails', '~> 3.2.1' gem 'uglifier', '>= 1.0.3' end gem 'jquery-rails' gem 'bootstrap-sass'#, '2.3.2.0' gem 'cancan' gem 'devise' gem 'figaro' gem 'haml-rails' gem 'mongoid' gem 'rolify' gem 'simple_form' gem 'thin' gem 'country_select' group :development do gem 'better_errors' gem 'binding_of_caller', :platforms=>[:mri_19, :rbx] gem 'guard-bundler' gem 'guard-rails' gem 'guard-rspec' gem 'html2haml' gem 'quiet_assets' gem 'rb-fchange', :require=>false gem 'rb-fsevent', :require=>false gem 'rb-inotify', :require=>false gem "switch_user" end group :development, :test do gem 'factory_girl_rails' gem 'rspec-rails' end group :test do gem 'database_cleaner' gem 'email_spec' gem 'mongoid-rspec' end gem "ckeditor" #gem "binding_of_caller" gem "mongoid-paperclip", :require => "mongoid_paperclip", :git=>'https://github.com/meskyanichi/mongoid-paperclip' gem 'aws-sdk', '~> 1.3.4' gem "flat-ui-rails" gem 'stripe', :git => 'https://github.com/stripe/stripe-ruby' gem "mongoid_slug", "~> 2.0.1" 

我的production.rb文件启用了以下属性

  config.cache_classes = true config.consider_all_requests_local = false config.action_controller.perform_caching = true config.serve_static_assets = true config.assets.compress = true config.assets.compile = false config.assets.digest = true config.assets.initialize_on_precompile = false 

我的rails版本是Rails 3.2.11

这与最近将sass gem升级到3.3.0有关。 sass gem是其他几个sass gem的依赖项,因此即使你的Gemfile中没有它,它也可能会被加载。 在本地和Heroku上做一个“捆绑秀”,我相当肯定你会看到它们是不同的版本(sass在几天前升级到3.3.0)。

加:

 gem 'sass', '3.2.13' 

到您的Gemfile,这应该为您解决问题。 然后在github上为这个gem提交一个问题。

希望这有帮助,它对我有用!

这是Sass 3.3.0中的一个已知错误,Sprockets导入器是非序列化的,因此不可缓存,导致此错误。 对于错误报告,请看这个 。 没有缓存,Sass编译速度极慢,导致heroku服务器超时。

首先,您可能想要更新

 bundle update sass-rails bundle update sass 

然后是更关键的部分(确保你卸载Gemfile.lock中的sass版本)

 gem uninstall sass bundle install