Deno导入模块报错:invalid peer certificate: UnknownIssuer 求解
Deno导入标准库时证书错误的解决办法
运行环境:Deno v1.38.0、JavaScript、Visual Studio Code v1.84.2(Mac M1)
执行代码:
import * as mod from "https://deno.land/std@0.206.0/fs/ensure_dir.ts";
出现错误:
error: Import 'https://deno.land/std@0.206.0/fs/ensure_dir.ts' failed:
error sending request for url
(https://deno.land/std@0.206.0/fs/ensure_dir.ts): error trying to
connect: invalid peer certificate: UnknownIssuer.
以下是解决该证书问题的几种方法:
临时跳过证书验证(仅限测试场景)
运行脚本时添加--unsafely-ignore-certificate-errors参数,绕过证书检查:deno run --unsafely-ignore-certificate-errors your-script.js注意:此操作会关闭所有证书验证,存在安全风险,禁止在生产环境使用。
更新系统根证书
Mac M1可能缺失Deno.land依赖的根证书(如Let's Encrypt的ISRG Root X1),按以下步骤处理:- 打开「钥匙串访问」应用
- 切换到「系统」钥匙串,选择「证书」分类
- 检查是否存在ISRG Root X1证书,若缺失则手动下载安装
- 安装后右键证书,选择「显示简介」,在「信任」栏将「使用此证书时」设置为「始终信任」
升级Deno版本
旧版本Deno(如v1.38.0)可能存在证书处理逻辑的bug,执行命令升级到最新稳定版:deno upgrade新版本通常会修复证书相关的兼容性问题。
排查网络代理问题
如果当前网络使用代理,可能是代理拦截HTTPS请求导致证书验证失败:- 临时关闭代理后重新运行脚本,验证是否解决问题
- 若必须使用代理,确保代理配置正确,且代理的证书已添加到系统信任列表
内容的提问来源于stack exchange,提问作者Andrey Bushman
相关产品推荐
相关产品推荐

