VS Code加载JSON Schema提示无法获取本地颁发者证书如何解决?
问题解决步骤
方案1:修正JSON Schema配置错误
你当前的json.schemas配置存在无效字段,先删除多余的schema: true属性,修改为以下配置:
"json.schemas": [ { "fileMatch": ["package.json"], "url": "http://json.schemastore.org/package" } ]
如果修改后仍报错,说明HTTP地址会自动跳转HTTPS,仍然触发证书校验,继续往下操作。
方案2:配置VS Code信任企业代理证书
Chrome正常访问是因为调用了系统证书库,VS Code默认使用独立的网络栈,可通过以下配置优先调用系统证书:
- 在
settings.json中添加配置:
"http.systemCertificates": true
- 若上述配置不生效,可手动导出企业代理的根CA证书(PEM格式,后缀为.crt或.pem),添加系统环境变量
NODE_EXTRA_CA_CERTS,值为证书文件的本地绝对路径,重启VS Code即可生效。
注意:VS Code基于Electron框架开发,底层使用Node.js网络栈,该环境变量会被Node.js自动读取,信任你添加的私有CA证书。
方案3:使用本地Schema文件(永久生效,无网络依赖)
- 用Chrome访问
https://json.schemastore.org/package,将内容保存为本地文件,比如路径为C:\schemas\package.json(macOS/Linux可存到/usr/local/schemas/package.json) - 修改
settings.json的json.schemas配置,将url替换为本地文件路径:
"json.schemas": [ { "fileMatch": ["package.json"], "url": "file:///C:/schemas/package.json" } ]
Windows路径需要把
\替换为/,路径前加file:///前缀;macOS/Linux路径格式为file:///usr/local/schemas/package.json
临时测试方案
如果仅需临时关闭校验排查问题,可在启动VS Code前添加系统环境变量NODE_TLS_REJECT_UNAUTHORIZED=0,该方案会全局关闭Node.js的SSL证书校验,存在安全风险,不建议长期使用。
内容的提问来源于stack exchange,提问作者Kariboon
相关产品推荐
相关产品推荐

