强制Heroku重新编译所有资产
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了强制Heroku重新编译所有资产相关的知识,希望对你有一定的参考价值。
我更新了两个图像,现在Heroku正确地服务一个,但另一个仍然是旧图像。部署日志的输出显示两个图像都使用新哈希进行预编译,但用于检索其中一个的哈希(来自application.css
文件)仍然是旧哈希,并且它以某种方式抓取旧图像。
我想强制Heroku重新编译每个资产并重新启动服务器(基本上是一个全新的部署)。目前,它似乎“智能地”只预编译它认为是新的资产。我尝试做rake assets:clobber
和rake assets:precompile
,但它没有改变 - 仍然使用旧的哈希来获取旧图像版本,但成功获得另一个。还有其他选择吗?
手动使资产到期 - 在config.assets.version = 1.0
将1.1
更改为config/production.rb
。但仍然不确定发生了什么。
您现在可以预编译资产而无需提交任何内容。
heroku plugins:install heroku-repo
然后
$ heroku repo:reset --app=appname
$ git push heroku
资料来源:https://stackoverflow.com/a/9736959/3034747
此命令用于完成相同的操作,但它已被删除,不再有效:
$ heroku repo:rebuild -a appname
总计,但做一个小改动并重新部署。
你必须实际重新部署,因为那是在资产编译发生并编译你的slug时。只需使用heroku restart
重新启动服务器,更改配置变量或其他任何东西都不会为您构建新的slug。
我刚遇到这个问题,这至少是为我解决的问题;因人而异。
像这样的东西可能会发生 - 你为什么不尝试使用heroku run rake assets:clean
和heroku run rake assets:precompile
在服务器上清理资产
以上是关于强制Heroku重新编译所有资产的主要内容,如果未能解决你的问题,请参考以下文章