[英]Why is devDependencies' pruning skipped even if NPM_CONFIG_PRODUCTION is true?
When trying to push a Node.js project to Heroku, I can find between the log lines the following one: 当尝试将Node.js项目推送到Heroku时,我可以在日志行之间找到以下内容:
Pruning devDependencies
remote: Skipping because NPM_CONFIG_PRODUCTION is 'true'
Now, I was expecting pruning is skipped at the opposite condition ( NPM_CONFIG_PRODUCTION=false
). 现在,我期望在相反的条件下跳过修剪(
NPM_CONFIG_PRODUCTION=false
)。
Any thoughts about? 有什么想法吗?
The default behaviour of Heroku's Node.js buildpack is to install dependencies
and devDependencies
, build the slug, and then strip out the devDependencies
. Heroku的Node.js buildpack的默认行为是安装
dependencies
和devDependencies
,构建该devDependencies
,然后devDependencies
。 They'll be available during the build process but not afterwards. 它们将在构建过程中可用,但此后将不可用。
Setting NPM_CONFIG_PRODUCTION
to true
prevents devDependencies
from being installed in the first place : 将
NPM_CONFIG_PRODUCTION
设置为true
可以防止devDependencies
安装devDependencies
:
You can direct Heroku to only install dependencies by setting environment variables
NPM_CONFIG_PRODUCTION=true
orYARN_PRODUCTION=true
.您可以通过设置环境变量
NPM_CONFIG_PRODUCTION=true
或YARN_PRODUCTION=true
来指示Heroku仅安装依赖项。
Since devDependencies
are never installed there is no need to prune them. 由于从未安装
devDependencies
,因此无需修剪它们。 There's nothing to strip out. 没有什么可以删除的。
(Technically, the buildpack skips pruning if NPM_CONFIG_PRODUCTION
is non-null ; its actual value doesn't matter for this part of the logic.) (从技术上讲, 如果
NPM_CONFIG_PRODUCTION
不为null ,则buildpack会跳过修剪 ;对于逻辑的这一部分,其实际值并不重要。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.