安装依赖项后如何清理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?

Firebase android:更新依赖项后的Multidex错误

在Heroku上安装devDependencies

如何清理 Safari 缓存释放空间

如何清理缓存数据

Ubuntu 16.04安装BleachBit清理系统垃圾文件