gpt4 book ai didi

Heroku 不会在 Rails 4 中的 Assets 管道下编译文件

转载 作者:行者123 更新时间:2023-12-03 05:16:29 24 4
gpt4 key购买 nike

在本地计算机上一切顺利,并使用 Rails 4 和 Ruby 2.0 中的 Assets 管道。但是部署到heroku时显示:

-----> 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 中没有任何错误。我的问题是:

  1. Heroku 如何将 Assets 文件编译到/tmp?
  2. 我的最后一个解决方案是在本地运行 RAILS_ENV=生产包 exec rake assets:precompile ,但这在 public/assets 中生成了一个 manifest-xxxxxx.json,而不是 manifest.yml,因此 heroku 不会检测到 JSON list 文件。我通过从 json 文件手动创建 yml 来解决这个问题,heroku 变得很高兴。 Heroku 的方法已经过时了吗?

最佳答案

Heroku 的资源插件不再工作,因为 Rails 4 不支持插件。您需要使用 Heroku 的 Assets gem 。将其放入您的 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's guide开始使用 Rails 4。

更新(07/22/2013):Heroku 现在提供不同的 gem 来预编译 Assets 。

group :production do
gem 'rails_12factor'
end

关于Heroku 不会在 Rails 4 中的 Assets 管道下编译文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15354539/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com