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