由于 ibm_db 模块,尝试 运行 节点 js 服务器时出现 Malloc 错误

Malloc error when trying to run node js server due to ibm_db module

我有一个 nodejs 应用程序,并在端口 5001 上配置为 运行。当我尝试 运行 使用 node server.js[=26 的节点服务器时=], 它抛出如下 malloc 错误

node(6080,0x1067aa600) malloc: *** error for object 0x7ffb503d2670: pointer being freed was not allocated
node(6080,0x1067aa600) malloc: *** set a breakpoint in malloc_error_break to debug
zsh: abort      node server.js

我的机器配置是 处理器 - 2.4 GHz 8 核 Intel Core i9 内存 - 32 GB 2667 MHz DDR4

当我尝试 运行 此服务器时,我不会 运行 任何其他节点服务器。我还检查了所有进程 运行ning 但没有任何冲突。也许我错过了什么。我也在不同的端口上尝试了 运行ning 它,但我得到了同样的错误

我的node js版本是v14.16.1

npm 版本为 6.14.12

Xcode 版本为 13.4.0.0.1.1651278267

这个问题与 X 代码或节点版本无关,但它与我使用的一个 npm 包有关,它是 ibm_db 并且只有当你有 mac monterey os.

如果您安装了此软件包,请按照以下步骤纠正错误。

  1. 从您的项目中删除 ibm_db 包并删除 package-lock。json。
  2. 安装最新的 ibm_db 软件包,当前为 2.8.1。即使它不能解决错误,请执行最后一步。
  3. 转到 node_modules/ibm_db/installer/clidriver/lib 并将文件 libstdc++.6.dylib 重命名为 libstdc++.7.dylib

你可以在这里找到详细的讨论 https://github.com/ibmdb/node-ibm_db/issues/824 https://github.com/ibmdb/node-ibm_db/issues/801

希望问题能得到解决。谢谢