Deno "NotFound: No such file or directory (os error 2)"

时间:2021-05-15 04:02:08

标签: typescript server deno oak

我正在开发一个使用 Oak 运行服务器的 Deno 侧项目。我正在尝试使用 HTTPS 运行服务器,并且正在尝试使用 WebSockets 和一些基本身份验证。相同的代码在另一台计算机上运行良好,但在我的笔记本电脑上运行不正常。

我正在使用以下 run 命令和这样的标志,否则它将无法在另一台机器上运行:

deno run --import_map=my-import-map.json --allow-read --allow-write --allow-net --unstable myserver.ts

我知道服务器启动并触发了“listen”事件,因为我得到了 Listening on: https://localhost:443 的控制台日志,但我无法弄清楚我的代码是什么导致 Deno 产生以下问题错误信息。

NotFound: No such file or directory (os error 2)
    at deno:core/core.js:86:46
    at unwrapOpResult (deno:core/core.js:106:13)
    at Object.opSync (deno:core/core.js:120:12)
    at opListenTls (deno:runtime/js/40_tls.js:19:17)
    at Object.listenTls (deno:runtime/js/40_tls.js:56:17)
    at Object.start (https://deno.land/x/oak@v7.4.1/http_server_native.ts:160:16)
    at Object.<anonymous> (deno:extensions/fetch/11_streams.js:94:22)
    at startAlgorithm (deno:extensions/fetch/11_streams.js:1851:36)
    at setUpReadableStreamDefaultController (deno:extensions/fetch/11_streams.js:1815:25)
    at setUpReadableStreamDefaultControllerFromUnderlyingSource (deno:extensions/fetch/11_streams.js:1861:5)

我尝试升级 Deno 并重新加载缓存。我什至不确定从哪里访问堆栈跟踪中的文件以了解更多信息。

我遇到的最大问题是相同的未更改代码可以在不同的计算机上运行。

如果我知道发生了什么,我会在这里发布我的解决方案。

感谢任何可以提供帮助的人!

1 个答案:

答案 0 :(得分:0)

结果证明我需要重新生成本地 SSL 证书。

之后我还不得不更改我在这台机器上使用的端口,因为我一直遇到默认端口 80 和 443 无法在这台特定机器上使用的问题。

不过我有一个全新的问题!我现在有大量 TLS 警报用于使用我的自签名证书进行测试,但我似乎无法在控制台中摆脱这些警报。