【问题标题】:How to clean cache in heroku after installing dependencies?安装依赖项后如何清理heroku中的缓存?
【发布时间】:2017-12-17 07:02:28
【问题描述】:

主题:Heroku 问题:在 heroku 中安装我的 node js 应用程序后,我在 package.json 中进行了一些更改。现在,当我再次尝试推送更改时,没有安装新的依赖项。 Heroku 正在从缓存中挑选依赖项。

如何在heroku中禁用缓存?

【问题讨论】:

  • 您是否尝试过创建npm-shrinkwrap.json?如果您安装了新的依赖项并 shrinkwrap 您的项目,那么 npm 将使用确切的版本安装压缩包中的所有内容
  • 嗯。我从来没有发现 heroku 在部署时不会更新我的 package.jsom 依赖项。

标签: node.js heroku heroku-cli


【解决方案1】:

感谢大家的回复。

经过大量谷歌搜索并花时间解决我的问题,我能够解决我的问题。 我认为如果有人面临类似的困境,最好发布答案。

以下是文档,我在其中找到了答案https://devcenter.heroku.com/articles/nodejs-support

  1. 默认情况下,在 heroku 中生产设置为 true。这就是为什么只安装依赖项的原因。 ( & 跳过 devDependencies )

    heroku config:set NPM_CONFIG_PRODUCTION=false
    

将 production 设置为 false,以强制 heroku 安装所有包。

** Only do this if doing development.
  1. 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 插件轻松清除应用的构建缓存。

    1. 安装:

    heroku 插件:安装 heroku-builds

    1. 用法:

    heroku builds:cache:purge -a your-app-name

    注意: 缓存将在下一次部署时重建。如果您没有任何新代码要部署,您可以推送一个空提交。

    $ git commit --allow-empty -m "清除缓存"

    $ git push heroku master

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-01
      • 2021-03-04
      • 1970-01-01
      • 2020-10-17
      • 2013-09-12
      • 2020-03-01
      • 2016-08-21
      • 1970-01-01
      相关资源
      最近更新 更多