安装依赖项后如何清理heroku中的缓存?
Posted
技术标签:
【中文标题】安装依赖项后如何清理heroku中的缓存?【英文标题】:How to clean cache in heroku after installing dependencies? 【发布时间】:2017-12-17 07:02:28 【问题描述】:主题:Heroku 问题:在 heroku 中安装我的 node js 应用程序后,我在 package.json 中进行了一些更改。现在,当我再次尝试推送更改时,没有安装新的依赖项。 Heroku 正在从缓存中挑选依赖项。
如何在heroku中禁用缓存?
【问题讨论】:
您是否尝试过创建npm-shrinkwrap.json
?如果您安装了新的依赖项并 shrinkwrap 您的项目,那么 npm 将使用确切的版本安装压缩包中的所有内容
嗯。我从来没有发现 heroku 在部署时不会更新我的 package.jsom 依赖项。
【参考方案1】:
感谢大家的回复。
经过大量谷歌搜索并花时间解决我的问题,我能够解决我的问题。 我认为如果有人面临类似的困境,最好发布答案。
以下是文档,我在其中找到了答案https://devcenter.heroku.com/articles/nodejs-support
默认情况下,在 heroku 中生产设置为 true。这就是为什么只安装依赖项的原因。 ( & 跳过 devDependencies )
heroku config:set NPM_CONFIG_PRODUCTION=false
将 production 设置为 false,以强制 heroku 安装所有包。
** Only do this if doing development.
Heroku 默认会缓存所有依赖项,这样部署速度会更快。
heroku config:set NODE_MODULES_CACHE=false
$ git commit -am 'disable node_modules cache' --allow-empty
$ git push heroku master
** Preferable only if new dependencies are added in package.json
【讨论】:
【参考方案2】:我知道现在回答这个问题为时已晚,但难怪有人需要随时解决这个问题......
无论如何,您可以通过安装 heroku-builds 插件轻松清除应用的构建缓存。
-
安装:
heroku 插件:安装 heroku-builds
-
用法:
heroku builds:cache:purge -a your-app-name
注意: 缓存将在下一次部署时重建。如果您没有任何新代码要部署,您可以推送一个空提交。
$ git commit --allow-empty -m "清除缓存"
$ git push heroku master
【讨论】:
以上是关于安装依赖项后如何清理heroku中的缓存?的主要内容,如果未能解决你的问题,请参考以下文章
在 docker 容器内安装依赖项后如何复制回主机 package-lock.json/yarn.lock?