You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

安装任意JS包时触发npm证书错误error:0906D06C,请求协助排查原因

解决npm安装包时出现的PEM证书错误

这个错误error:0906D06C:PEM routines:PEM_read_bio:no start line通常和SSL证书验证失败有关,结合你的环境(Node v9.3.0、npm 5.5.1),可以按照以下步骤逐一排查解决:

1. 重置npm镜像源到默认值

首先确认你的npm registry配置是否正确,有时候镜像源被篡改或配置错误会导致证书验证问题:

npm config set registry https://registry.npmjs.org/

2. 临时禁用SSL严格检查(测试用)

如果重置源后还是报错,可以临时关闭npm的SSL严格验证来测试是否是证书问题:

npm config set strict-ssl false

注意:这只是临时方案,不建议长期使用,解决问题后记得改回true以保证安全性。

3. 更新npm到兼容的新版本

你的npm 5.5.1版本较旧,存在不少已知的SSL相关bug,尝试更新到对应Node版本支持的最新npm(Node v9最高支持npm 6.x系列):

npm install -g npm@6

4. 修复系统根证书配置

XAMPP的Apache可能自带了SSL证书,导致Node的证书链验证异常。可以手动指定npm使用系统的根证书:

  • Windows
    npm config set ca "C:\Program Files\Git\mingw64\ssl\certs\ca-bundle.crt"
    
  • macOS/Linux
    npm config set ca "/etc/ssl/cert.pem"
    

5. 检查并移除代理配置

如果你之前设置过代理,代理的SSL证书可能导致验证失败,检查并移除代理:

# 查看当前代理配置
npm config get proxy
npm config get https-proxy

# 如果有配置,删除它们
npm config delete proxy
npm config delete https-proxy

额外建议:升级Node.js版本

Node v9.3.0是早已停止维护的旧版本,不仅存在安全漏洞,还可能和新版npm、包依赖不兼容。建议升级到长期支持(LTS)版本(比如v18.x),从根本上避免这类旧版本带来的问题。

内容的提问来源于stack exchange,提问作者Mustabshir Khan

火山引擎 最新活动