将Node.js应用程序推送到Heroku时,如何跳过“使用npm安装依赖项”步骤?

当我做“git push heroku master”时,总是有一个步骤说“用npm安装依赖关系”。 然后它会加载并重新安装所有的依赖关系,即使它已经存在。 这是非常耗时的,我想在部署的时候跳过这个步骤,我知道依赖关系是相同的。 有没有这样的命令或选项?

你问这个问题已经很长时间了,现在Heroku buildpackcaching了node_modules ,所以安装时间会快很多。

如果你仍然想阻止npm install ,这里是一个解决scheme。

至于我写这个时,默认的Heroku构build包不允许完全跳过npm install。 你可以在dependencies.sh文件中看到这行总是运行:

 npm install --unsafe-perm --userconfig $build_dir/.npmrc 2>&1 

但是,如果在项目文件夹中创build一个名为.npmrc的文件,其中包含以下内容:

 dry-run 

这将导致npm install不修改您现有的node_modules目录。

请注意,这个更改也适用于Heroku运行的npm prune命令,但不适用于npm rebuild命令(这可能是好的)。

尝试删除

node_modules

例如从你.gitignore