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

跳过“;“使用npm安装依赖项”;将Node.js应用程序推送到Heroku时的步骤,node.js,heroku,npm,Node.js,Heroku,Npm,运行git push heroku master总是会触发一个步骤,提示: 使用npm安装依赖项 此步骤将再次加载并重新安装所有依赖项,即使它已经存在。这非常耗时,有时在部署时我想跳过这一步,因为我知道依赖项是相同的 是否有执行此操作的命令或选项?尝试删除 节点单元 比如说 gitignore已经很久没有问过这个问题了,现在Heroku buildpack缓存了节点模块,所以安装时间会快得多 但是,如果您仍然想要阻止npm安装,这里有一个解决方案 在我写这篇文章时,默认的Heroku构建包不允许

运行git push heroku master总是会触发一个步骤,提示:

使用npm安装依赖项

此步骤将再次加载并重新安装所有依赖项,即使它已经存在。这非常耗时,有时在部署时我想跳过这一步,因为我知道依赖项是相同的

是否有执行此操作的命令或选项?

尝试删除

节点单元

比如说
gitignore已经很久没有问过这个问题了,现在Heroku buildpack缓存了
节点模块
,所以安装时间会快得多

但是,如果您仍然想要阻止npm安装,这里有一个解决方案

在我写这篇文章时,默认的Heroku构建包不允许完全跳过npm安装。您可以在文件中看到,此行将始终运行:

npm install --unsafe-perm --userconfig $build_dir/.npmrc 2>&1
但是,如果在项目文件夹中创建名为
.npmrc
的文件,并包含以下内容:

dry-run
这将导致npm安装无法修改现有的
节点\u模块
目录


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

我发现的最简单的方法是

heroku应用程序:重命名newTemporaryName

然后

heroku应用程序:重命名原始名称

或者更改节点_ENV并使其再次返回到上一个

heroku配置:设置节点_ENV=dev

然后

heroku config:set NODE_ENV=production


可能还有其他类似的黑客,但这些应该足够了。

不幸的是,如果您查看,似乎没有跳过
npm安装
选项。它总是运行
npm安装--production
,然后运行
npm rebuild
。但是,可以创建为
npm安装指定不同行为的。