M1 Mac使用node-oracledb连接Oracle报DPI-1047错误如何解决
M1芯片Mac运行node-oracledb 4.2.0报DPI-1047错误快速解决方案
错误根因
缺少适配arm64架构的64位Oracle Client库,或已安装的库为x86架构不匹配M1芯片。
操作步骤
- 方案一(原生arm运行,推荐)
- 升级node-oracledb到5.5.0及以上版本,该版本开始原生支持M1芯片架构,可自动识别客户端路径
- 下载arm64版本Oracle Instant Client Basic(或Basic Light)包,解压到本地目录如
~/instantclient_19_arm - 执行以下命令创建软链接:
mkdir -p ~/lib ln -s ~/instantclient_19_arm/*.dylib ~/lib/- 重启项目即可正常连接
- 方案二(无需升级依赖,快速生效)
- 右键点击终端应用,选择「显示简介」,勾选「使用Rosetta打开」
- 重启终端后,安装x86架构的Oracle Instant Client Basic包,按上述软链操作配置
- 在Rosetta模式下运行项目即可兼容旧版node-oracledb
内容的提问来源于stack exchange,提问作者Onur Yüksekkaya
相关产品推荐
相关产品推荐

