节点 12 |引用错误:FinalizationRegistry 未定义

问题描述 投票:0回答:2

尝试使用共享无限计划在梦想主机上托管节点js(快递)。我能够完成大部分工作。只有一个问题,dreamhost 使用 passenger 运行 node js app,而 passenger 不支持 node 14+,所以我必须坚持使用 node v12。 我正在构建的 express js 项目是建立在打字稿上的,我使用节点 v16 来完成所有安装、运行等工作。当我构建打字稿时,它使用了一个使用 FinalizationRegistry 的 npm 包 exit-free-leak,因此需要节点 v14+。 因此,在构建应用程序之后,当我使用节点 v12 运行 app.js 时,它给出了未定义 FinalizationRegistry 的错误。 现在我收到此错误,但 exit-free-leak 使用另一个节点 v14+ 函数“WeakRef ”。 所以我的问题是如何在使用节点 v12 时解决这个问题? 是否有填充这些功能或使用 tsconfig.json 禁用包 exit-free-leak 的使用,或者可能是更好的解决方案。

node.js express passenger dreamhost finalization
2个回答
0
投票

不幸的是,“我如何在使用节点 v12 时解决这个问题”的答案可能是:“你不知道”。

Node 12 已停产 9 个月;考虑到 JavaScript 生态系统的总体发展速度,图书馆不太可能长期支持该版本。

你最好向 Dreamhost 询问有关节点 16 或 18 的支持,或者如果他们不能为你提供最新的运行时仍然获得安全更新.


0
投票

我有同样的错误。我将我的节点版本修改为 16 并且它有效

© www.soinside.com 2019 - 2024. All rights reserved.