Deno 是一个新兴的 JavaScript/TypeScript 运行时环境,它支持直接运行 JavaScript/TypeScript,并且无需依赖其他的运行时环境。然而,某些用户在 MacOS 上启动 Deno 时,可能会遇到 SSL 证书问题,导致 Deno 无法正常启动。本文将会介绍该问题的原因,并提供解决方案。
问题原因
当我们在 MacOS 上启动 Deno 时,Deno 会通过 HTTPS 方式连接 github.com
和 deno.land
,以下载必要的依赖包和模块。然而,Deno 运行时环境并不包含这些站点的 SSL 证书,因此在连接时就会出现证书错误。
解决方案
解决该问题的方法很简单,我们只需要通过终端命令来将缺少的 SSL 证书安装到系统中即可。具体步骤如下:
打开终端,并输入以下命令:
sudo security add-trusted-cert -d -r trustRoot -k "/Library/Keychains/System.keychain" ~/.ssh/cert/deno.pem
然后,输入管理员密码。
完成后,就可以正常启动 Deno 了。
代码示例
在终端中执行以下命令,可以下载一个简单的 Deno 示例:
curl https://deno.land/std/examples/welcome.ts --output welcome.ts && deno run welcome.ts
当出现以下错误时,就可以按照上文中提到的方法来解决问题:
error: Uncaught (in promise) Deno.errors.InvalidData: SSL error at unwrapResponse ($deno$/ops/dispatch_json.ts:43:10) at Object.sendAsync ($deno$/ops/dispatch_json.ts:98:10) at async unwrapOpResult ($deno$/ops/dispatch_json.ts:131:12)
总结
本文介绍了 Deno 在 MacOS 上启动时出现 SSL 证书问题的原因,并提供了简单的解决方案。在使用 Deno 时,我们可以将证书安装到系统中,以避免出现类似的问题。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64c4290a83d39b48817e02ee