前言
给电脑回退到win10之后重装开发环境,装了最新版本的node,在使用包管理工具(除npm)时出现以下错误
Internal Error: Error when performing the request
at ClientRequest.<anonymous> (C:\Program Files\nodejs\node_modules\corepack\dist\corepack.js:3937:20)
at ClientRequest.emit (node:events:390:28)
at TLSSocket.socketErrorListener (node:_http_client:447:9)
at TLSSocket.emit (node:events:390:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
大家可能注意到这个 corepack
在报错路径中出现,是不是我配置出问题了呢。
显然不是,因为yarn 和 pnpm 官网上都有对应的配置,就是和这个 corepack
相关的
- pnpm
- yarn
都是按照官方的文档进行操作,但是都出现了上面的报错。
分析和原因推测
corepack是什么
corepack简单来说就是node自己构建的一个包管理工具,用来整合我们目前使用的npm yarn pnpm 等工具,它在16.9
及以上的node中集成,当你打开了corepack之后,它会自动帮你配置好npm yarn pnpm三个包管理工具,也就无需自己再单独管理它们了。需要使用的时候可以直接在命令行中使用
原因推测
- 报错中有
TSLsocket
等字样,因为我有用梯子,可能与这个东西有关。但是我关掉梯子也会报错 - 之前开着梯子也没有问题 , 我认为是corepack的问题
- 也有可能corepack配置更新,但是我不知道
解决方案
解决不了corepack,那我就不用它了。
将node的版本回退到 16.9
之前,然后通过自己安装的方式来安装包管理工具
可以解决问题 如果大家有知道报错的具体原因,欢迎分享。