我在 MacBook M1 max 中的 nodejs 连接到数据库 oracle 时遇到问题帮助我

2024-05-20

Node.js 中的错误消息 [nodemon] 启动node server.js错误:错误:DPI-1047:无法找到 64 位 Oracle 客户端库:“dlopen(/Users/pitidev-ldb/Downloads/instantclient_19_8/libclntsh.dylib,0x0001):尝试过:'/Users/pitidev-ldb/Downloads /instantclient_19_8/libclntsh.dylib'(mach-o 文件,但是不兼容的架构(有'x86_64',需要'arm64e')),'/Users/pitidev-ldb/Downloads/instantclient_19_8/libclntsh.dylib.19.1'( mach-o 文件,但它是一个不兼容的体系结构(有“x86_64”,需要“arm64e”))”。看https://oracle.github.io/node-oracledb/INSTALL.html https://oracle.github.io/node-oracledb/INSTALL.html求助


我遇到了同样的问题并让事情正常进行。

要安装 Node,需要在安装过程中使用 Rosetta 运行终端。 NVM 将照常选择指定的版本号,但选择 x86_64 二进制文件而不是 M1。

  1. 已安装nvm根据NVM 自有站点 https://github.com/nvm-sh/nvm/blob/master/README.md#installing-and-updating

  2. 关注了这个堆栈溢出帖子 https://stackoverflow.com/a/70243924/2236725。什么对我有用(如果事情不适合你,请阅读帖子中的详细信息)

    1. 使terminal/iTerm2 以Rosetta 模式打开。必须Applications (-> utilities) -> right click on terminal app -> get Info -> Select "Open using Rosetta" -> Restart Terminal
    2. 在 Terminal.app 中运行arch -x86_64 zsh
    3. 从这里根据以下内容安装您需要的 Node 版本NVM docs https://github.com/nvm-sh/nvm/blob/master/README.md#usage。我只是简单地用过nvm install node安装最新版本。
    4. 您可以反转步骤 1 并在没有 Rosetta 支持的情况下运行终端应用程序。

您现在应该能够使用 x86_64 版本运行 Node。 (无论终端是否使用 Rosetta 运行)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我在 MacBook M1 max 中的 nodejs 连接到数据库 oracle 时遇到问题帮助我 的相关文章

随机推荐