首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

npm错误!oracledb错误!NJS-067:未找到darwin arm64的预建node-oracledb二进制文件

基础概念

npm 是 Node.js 的包管理器,用于安装和管理 Node.js 应用程序的依赖项。oracledb 是一个 Node.js 模块,用于连接和操作 Oracle 数据库。

错误原因

错误信息 NJS-067: 未找到 darwin arm64 的预建 node-oracledb 二进制文件 表示在 macOS(darwin)的 ARM64 架构上没有找到预编译的 node-oracledb 二进制文件。

解决方法

1. 安装 Oracle Instant Client

首先,你需要安装 Oracle Instant Client,这是 node-oracledb 依赖的基础组件。你可以从 Oracle 官方网站下载并安装适合 macOS ARM64 的版本。

Oracle Instant Client 下载页面

2. 设置环境变量

安装完成后,设置环境变量以便 node-oracledb 能够找到 Oracle Instant Client。

代码语言:txt
复制
export ORACLE_HOME=/path/to/instantclient
export LD_LIBRARY_PATH=$ORACLE_HOME
export PATH=$ORACLE_HOME:$PATH

3. 重新安装 node-oracledb

在设置好环境变量后,重新安装 node-oracledb

代码语言:txt
复制
npm uninstall oracledb
npm install oracledb

4. 使用 node-oracledb 的自动编译选项

如果上述方法仍然无法解决问题,可以尝试使用 node-oracledb 的自动编译选项。首先,确保你已经安装了 Node.js 的构建工具:

代码语言:txt
复制
npm install -g node-gyp

然后,安装 node-oracledb 并启用自动编译:

代码语言:txt
复制
npm install oracledb --build-from-source

示例代码

以下是一个简单的示例代码,展示如何使用 node-oracledb 连接到 Oracle 数据库:

代码语言:txt
复制
const oracledb = require('oracledb');

async function runQuery() {
  let connection;
  try {
    connection = await oracledb.getConnection({
      user: 'your_username',
      password: 'your_password',
      connectString: 'your_connect_string'
    });

    const result = await connection.execute('SELECT * FROM your_table');
    console.log(result.rows);
  } catch (err) {
    console.error(err);
  } finally {
    if (connection) {
      try {
        await connection.close();
      } catch (err) {
        console.error(err);
      }
    }
  }
}

runQuery();

参考链接

通过上述步骤,你应该能够解决 NJS-067: 未找到 darwin arm64 的预建 node-oracledb 二进制文件 错误,并成功连接到 Oracle 数据库。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券