运行git push heroku master
总是会触发一个提示:
使用 npm 安装依赖项
此步骤会再次加载并重新安装所有依赖项,即使它已经存在。这非常耗时,有时我想在部署时跳过此步骤,因为我知道依赖项是相同的。
是否有任何命令或选项可以做到这一点?
你问这个问题已经很久了,现在 Heroku buildpack 缓存了node_modules
,所以安装时间会快得多。
但是,如果您仍然想阻止npm install
,这是一种解决方案。
在我写这篇文章时,默认的 Heroku 构建包不允许完全跳过 npm install。您可以在dependencies.sh文件中看到,这一行将始终运行:
npm install --unsafe-perm --userconfig $build_dir/.npmrc 2>&1
.npmrc
但是,如果您在项目文件夹中创建一个名为的文件,其内容如下:
dry-run
这将导致 npm install 不修改您现有的node_modules
目录。
请注意,此更改也将应用于npm prune
Heroku 运行的命令,但不会应用于npm rebuild
命令(这可能没问题)。
尝试删除
节点模块
例如来自你的 .gitignore
我发现的最简单的方法是
heroku 应用程序:重命名新临时名称
然后
heroku 应用程序:重命名 originalName
或更改 NODE_ENV 并再次将其恢复为以前的状态。
heroku 配置:设置 NODE_ENV=dev
然后
heroku 配置:设置 NODE_ENV=生产
可能还有其他类似的黑客,但这些应该足够了。