突然我的 Node 环境开始不安装软件包,并且它们冻结在
idealTree:my-app : sill idealTree buildDeps
我尝试了
npm config set registry http://registry.npmjs.org/ --global
但没有成功,
我必须使用
npm set strict-ssl false
才能使其工作(我不确定它是否安全?)
然后我在运行开发服务器时开始收到此错误
Error: unable to verify the first certificate
at TLSSocket.onConnectSecure (node:_tls_wrap:1674:34)
at TLSSocket.emit (node:events:519:28)
at TLSSocket._finishInit (node:_tls_wrap:1085:8)
at ssl.onhandshakedone (node:_tls_wrap:871:12) {
code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE'
环境: 节点21.6.1 Nextjs 14.1.0 反应18.2.0 NPM 10.2.4
有人看到同样的情况吗?一般来说,为什么在不改变依赖关系的情况下会发生这种情况?
不确定这是否是您的情况,但看起来与我大约在同一时间开始遇到的情况与您非常相似(不仅适用于
npm
,还适用于webpack-dev-server
代理和其他事物)。直到现在我才发现它在昨天更新ESET NOD32 Antivirus后就被破坏了。已经有一份关于它的报告 - https://forum.eset.com/topic/40702-eset-ssl-protection- Produces-an-invalid-certificate-chain-for-nodejs-apps/。
永久解决方案可能来自 NOD32 更新,但我们拭目以待。
目前的解决方案是关闭设置中的
Enable HTTPS traffic scanning
开关,使NOD32不扫描通过SSL/TLS进行的通信。或者,如果您仍想继续扫描,则可以将特定应用程序添加到忽略列表中。
P.S.
npm set strict-ssl false
对于 npm
来说是一种不安全的解决方法,它通常不是此类问题的根源,因此最好将其设置回 true
。