M2 Mac安装npm包oracledb 5.1.0失败(已装二进制文件)
解决M2 Mac安装oracledb 5.1.0的NJS-067错误
oracledb 5.x版本未提供Darwin ARM64架构的预编译二进制包,因此必须从源码编译安装,具体操作步骤如下:
1. 安装编译依赖
- 安装Xcode Command Line Tools:
xcode-select --install - 通过Homebrew安装Python 3(node-gyp编译依赖):
brew install python3 - 配置npm默认使用Python 3:
npm config set python python3
2. 配置Oracle Instant Client环境变量
除$PATH外,还需设置ORACLE_HOME和DYLD_LIBRARY_PATH(终端为zsh则修改~/.zshrc,bash则修改~/.bash_profile):
- 打开配置文件:
# zsh用户 open ~/.zshrc # bash用户 open ~/.bash_profile - 添加以下内容(替换为你的Instant Client实际安装路径,例如
/Users/xxx/instantclient_19_8):export ORACLE_HOME=/path/to/instantclient export DYLD_LIBRARY_PATH=$ORACLE_HOME export PATH=$ORACLE_HOME:$PATH - 生效配置:
# zsh用户 source ~/.zshrc # bash用户 source ~/.bash_profile - 验证变量是否生效:
echo $ORACLE_HOME echo $DYLD_LIBRARY_PATH
3. 强制从源码编译安装
执行安装命令时添加--build-from-source参数:
npm install oracledb@5.1.0 --build-from-source
额外问题处理
- 若遇权限问题,可尝试:
sudo npm install oracledb@5.1.0 --build-from-source --unsafe-perm - 若提示找不到Oracle头文件,手动指定include路径:
npm install oracledb@5.1.0 --build-from-source --oracle-include-dir=$ORACLE_HOME/sdk/include
内容的提问来源于stack exchange,提问作者africandrogba
相关产品推荐
相关产品推荐

