为什么即使NPM_CONFIG_PRODUCTION为true,也会跳过devDependencies的修剪?

时间:2019-04-06 14:52:08

标签: node.js heroku npm

当尝试将Node.js项目推送到Heroku时,我可以在日志行之间找到以下内容:

Pruning devDependencies
remote:        Skipping because NPM_CONFIG_PRODUCTION is 'true'

现在,我期望在相反的情况下(NPM_CONFIG_PRODUCTION=false)跳过修剪。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

Heroku的Node.js buildpack的默认行为是安装dependenciesdevDependencies,构建该段,然后剥离devDependencies。它们将在构建过程中可用,但之后将不可用。

Setting NPM_CONFIG_PRODUCTION to true prevents devDependencies from being installed in the first place

  

您可以通过设置环境变量NPM_CONFIG_PRODUCTION=trueYARN_PRODUCTION=true来指示Heroku仅安装依赖项。

由于从未安装devDependencies,因此无需修剪它们。没有什么可以剥离的。

(从技术上讲,buildpack skips pruning if NPM_CONFIG_PRODUCTION is non-null;它的实际值对于逻辑的这一部分无关紧要。)