npm
是 Node.js 的包管理器,用于安装和管理 Node.js 应用程序的依赖项。oracledb
是一个 Node.js 模块,用于连接和操作 Oracle 数据库。
错误信息 NJS-067: 未找到 darwin arm64 的预建 node-oracledb 二进制文件
表示在 macOS(darwin)的 ARM64 架构上没有找到预编译的 node-oracledb
二进制文件。
首先,你需要安装 Oracle Instant Client,这是 node-oracledb
依赖的基础组件。你可以从 Oracle 官方网站下载并安装适合 macOS ARM64 的版本。
安装完成后,设置环境变量以便 node-oracledb
能够找到 Oracle Instant Client。
export ORACLE_HOME=/path/to/instantclient
export LD_LIBRARY_PATH=$ORACLE_HOME
export PATH=$ORACLE_HOME:$PATH
在设置好环境变量后,重新安装 node-oracledb
:
npm uninstall oracledb
npm install oracledb
node-oracledb
的自动编译选项如果上述方法仍然无法解决问题,可以尝试使用 node-oracledb
的自动编译选项。首先,确保你已经安装了 Node.js 的构建工具:
npm install -g node-gyp
然后,安装 node-oracledb
并启用自动编译:
npm install oracledb --build-from-source
以下是一个简单的示例代码,展示如何使用 node-oracledb
连接到 Oracle 数据库:
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 数据库。
领取专属 10元无门槛券
手把手带您无忧上云