Heroku不会在Rails 4的资产管道下编译文件 [英] Heroku does NOT compile files under assets pipelines in Rails 4

查看:104
本文介绍了Heroku不会在Rails 4的资产管道下编译文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Rails 4和Ruby 2.0中使用资产管道的本地机器中一切顺利。但是,在部署到heroku时,显示:

Everything goes well in local machine with assets pipeline in Rails 4 and Ruby 2.0. But when deploying to heroku, it is shown that:

-----> Preparing app for Rails asset pipeline
   Running: rake assets:precompile
   I, [2013-03-12T03:28:29.908234 #912]  INFO -- : Writing /tmp/build_1n6yi8lwna3sj/public/assets/rails-2ee5a98f26fbf8c6c461127da73c47eb.png
   I, [2013-03-12T03:28:29.914096 #912]  INFO -- : Writing /tmp/build_1n6yi8lwna3sj/public/assets/trash-3c3c2861eca3747315d712bcfc182902.png
   I, [2013-03-12T03:28:33.963234 #912]  INFO -- : Writing /tmp/build_1n6yi8lwna3sj/public/assets/application-bf2525bd32aa2a7068dbcfaa591b3874.js
   I, [2013-03-12T03:28:40.362850 #912]  INFO -- : Writing /tmp/build_1n6yi8lwna3sj/public/assets/application-13374a65f29a3b4cea6f8da2816ce7ff.css
   Asset precompilation completed (14.36s)



Heroku似乎编译了文件,但是将它放在/ tmp中没有任何错误。我的问题是:
$ b

Heroku seems to compile files but put it in /tmp without any errors. My questions are:


  1. Heroku如何将资产文件编译到/ tmp?

  2. 我的最后解决方案运行RAILS_ENV = production bundle exec rake assets:本地预编译,但是这会在public / assets中生成manifest-xxxxxx.json,而不是manifest.yml,因此,heroku不会检测到JSON清单文件。我通过从json文件手动创建了一个yml来对它进行整理,并且heroku变得很开心。 Heroku的资产插件已不再适用,因为Rails 4不支持这种方式。


推荐答案

支持插件。您需要使用Heroku的资产宝石。把它放在你的Gemfile中:

Heroku's asset plugins no longer work since Rails 4 does not support plugins. You need to use Heroku's asset gems instead. Place this in your Gemfile:

group :production do
  gem 'rails_log_stdout',           github: 'heroku/rails_log_stdout'
  gem 'rails3_serve_static_assets', github: 'heroku/rails3_serve_static_assets'
end

按照 Heroku的指南开始使用Rails 4。

Follow Heroku's guide on getting started with Rails 4.

group :production do
  gem 'rails_12factor'
end

这篇关于Heroku不会在Rails 4的资产管道下编译文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆