2017-07-12 38 views
0

主题:Heroku 问题:在heroku中安装我的节点js应用程序后,我对package.json做了一些更改。现在,当我试图再次推送更改时,未安装新的依赖关系。 Heroku从缓存中选择依赖关系。如何在安装依赖项后清理heroku中的缓存?

如何在heroku中禁用缓存?

+0

您是否尝试过创建一个'NPM-shrinkwrap.json'?如果你安装了新的依赖和[shrinkwrap](https://docs.npmjs.com/cli/shrinkwrap)你的项目,那么npm将使用精确版本 –

+0

嗯安装所有的收缩包装。我从来没有发现heroku不更新我的package.jsom依赖部署。 –

回答

2

感谢所有的回应。

经过大量的搜索和花费在我的问题上的时间,我能够解决我的问题。 我认为如果任何人面临类似的困境,发布答案会更好。

下面是文档,在那里我发现我的答案https://devcenter.heroku.com/articles/nodejs-support

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

    heroku config:set NPM_CONFIG_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