你瞅啥呢

2024-08-30 error commander@12.1.0: The engine "node" is incompatible with this module. Expected version ">=18". Got "16.19.1" ==>执行命令npm config set ignore-engines true再yarn

删掉依赖,使用yarn重新拉取,保错如下:

error commander@12.1.0: The engine "node" is incompatible with this module. Expected version ">=18". Got "16.19.1" 

错误commander@12.1.0:引擎“节点”与此模块不兼容。预期版本“>=18”。得到“16.19.1”

意思就是yarn拉取依赖过程中有一个包(commander@12.1.0)拉不下来,表示是版本不兼容。

ps:其实我的node版本是20以上,结果我主管非得要我切换回16,然后再解决依赖冲突问题,我真tm服了。

好了,我现在node版本是16,而这个包commander我在package.json里面没有发现,应该是其他依赖间接引用的一个包。

而我的package.json的配置项engines指定了node版本,我们可以通过设置npm的ignore-engines选项,

ignore-engines为true表示不校验下载依赖包的node环境版本,为false则需要校验并在不满足时进行打断,默认是false。

其实吧,设置ignore-engines为true的这种操作并不合理,因为依赖它需要18版本你就切到18呗,唉,这世上怎么有这么ex的主管。

npm config set ignore-engines true

执行上面的命令再yarn即可跳过该依赖包的报错。

posted @ 2024-08-30 18:13  叶乘风  阅读(2705)  评论(0)    收藏  举报