如何在Heroku上禁止安装package.json的optionalDependencies可选依赖
Heroku 禁止安装 optionalDependencies 配置方案
你可以通过以下两种方式实现Heroku部署时不安装optionalDependencies分类下的依赖,效果和本地执行npm install --no-optional完全一致:
方案1:配置Heroku环境变量(仅对Heroku部署生效)
- 在Heroku控制台对应应用的「设置」页找到「Config Vars」板块,点击「显示配置变量」,新增变量
NPM_CONFIG_NO_OPTIONAL,值设为true即可 - 如果你使用Heroku CLI,也可以直接执行命令完成配置:
heroku config:set NPM_CONFIG_NO_OPTIONAL=true -a 替换为你的应用名称
方案2:项目内新增.npmrc配置(对所有npm安装场景生效)
- 在项目根目录新建名为
.npmrc的文件,写入以下内容:
no-optional=true
- 该配置提交到代码仓库后,不管是本地执行npm install还是Heroku部署,都会默认跳过可选依赖的安装,适合所有环境都不需要可选依赖的场景。
配置完成后重新部署应用,构建日志中可以看到npm不会再拉取你配置的cypress系列可选依赖包。
内容的提问来源于stack exchange,提问作者Andrew Korin
相关产品推荐
相关产品推荐

