gpt4 book ai didi

ruby-on-rails - Heroku 在部署时不预编译 Assets

转载 作者:行者123 更新时间:2023-12-04 05:34:41 25 4
gpt4 key购买 nike

它在其文档中非常清楚地说明,如果我不在本地预编译它们,它就会这样做。

说实话,我对在本地预编译这些没有兴趣。

我在 中所拥有的生产.rb , 我在 中复制了application.rb

在我的 生产.rb :

config.serve_static_assets = false
config.assets.compile = false

config.assets.precompile << 'application.js'
config.assets.precompile << 'application.css'
config.assets.precompile << 'screen.css'

然后我部署,然后返回:
-----> Compiled slug size: 52.4MB
-----> Launching... done, v28
http://myapp.herokuapp.com deployed to Heroku

所以它“编译”了一些东西,对吧?除了不去,我去网站并且 .css 和 .js 文件是空白的。

为了在本地预编译这个,我需要在 中注释掉bootstraps_and_overrides.css 线:
@import "screen.css.scss"; 

然后它在本地预编译,我的本地机器不会正确加载 css,但远程它实际上可以正常工作。

所以我现在的部署方法是注释掉那行代码,
bundle exec rake assets:precompile
git add .
git commit -m "Adding public/assets"
git push heroku development:master

然后( 不幸的是!):
bundle exec rake assets:clean

然后在我的 .css 中取消注释那行代码。

最佳答案

需要检查的一些事项

  • 你在雪松,对吧? Heroku 仅在 Cedar 上支持此行为。
  • 你在 Rails 3 上,对吧? Heroku doesn't support precompiling assets on Rails 4.
  • 你打开了 Assets 管道,对吧?在 config/application.rb您需要电话线 config.assets.enabled = true
  • 你必须没有 public/assets文件夹。 On deployment Heroku decides whether or not to precompile based on whether this folder is present (even if it's empty) .
  • 如果管道已打开并且您没有 Assets 文件夹,则预编译肯定会失败。
  • 关于ruby-on-rails - Heroku 在部署时不预编译 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664802/

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