本文介绍了npm install oracledb给出错误:找不到$ OCI_LIB_DIR/libclntsh.dylib的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用npm在我的Mac上安装oracledb
驱动程序.我已遵循给定链接中提到的每一个步骤一个>.当我尝试安装oracledb
软件包时:npm install oracledb
我遇到以下错误
I am trying to install oracledb
driver on my mac using npm. I have followed each and every step mentioned in the given link. When I am trying to install the oracledb
package: npm install oracledb
I am getting the following error
> [email protected] install /opt/oracle/instantclient/node_modules/oracledb
> node-gyp rebuild
node-oracledb ERR! Error: Cannot find $OCI_LIB_DIR/libclntsh.dylib
node-oracledb ERR! Error: Do you need to run 'cd $OCI_LIB_DIR && ln -s libclntsh.dylib.* libclntsh.dylib'?
node-oracledb ERR! Error: See https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#instosx
gyp: Call to 'INSTURL="https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#instosx"; ERR="node-oracledb ERR! Error:"; if [ -z $OCI_LIB_DIR ]; then if [ -f /opt/oracle/instantclient/libclntsh.dylib ]; then echo "/opt/oracle/instantclient/"; else echo "$ERR Cannot find /opt/oracle/instantclient/libclntsh.dylib" >&2; echo "$ERR Do you need to run 'cd /opt/oracle/instantclient && ln -s libclntsh.dylib.* libclntsh.dylib'?" >&2; echo "$ERR See $INSTURL" >&2; echo "" >&2; fi; else if [ -f "$OCI_LIB_DIR/libclntsh.dylib" ]; then echo $OCI_LIB_DIR; else echo "$ERR Cannot find \$OCI_LIB_DIR/libclntsh.dylib" >&2; echo "$ERR Do you need to run 'cd \$OCI_LIB_DIR && ln -s libclntsh.dylib.* libclntsh.dylib'?" >&2; echo "$ERR See $INSTURL" >&2; echo "" >&2; fi; fi;' returned exit status 0 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:305:16)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:191:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 16.1.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/oracle/instantclient/node_modules/oracledb
gyp ERR! node -v v7.0.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open '/opt/oracle/instantclient/package.json'
npm WARN instantclient No description
npm WARN instantclient No repository field.
npm WARN instantclient No README data
npm WARN instantclient No license field.
npm ERR! Darwin 16.1.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "oracledb"
npm ERR! node v7.0.0
npm ERR! npm v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the oracledb package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs oracledb
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls oracledb
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /opt/oracle/instantclient/npm-debug.log
我的节点版本为v7.0.0
,我的npm版本为v3.10.8
.有人可以让我知道我在做什么错吗?
My node version is v7.0.0
and my npm version is v3.10.8
. Can somebody let me know as to what am I doing wrong?
推荐答案
阅读安装文档.总结:
- 安装XCode
- 安装Instant Client
- 创建Instant Client 12c使用的符号链接
- 将OCI_LIB_DIR和OCI_INC_DIR设置为Instant Client目录
- 如果您位于防火墙后面,请设置http_proxy
- 运行
npm install oracledb
如果使用sudo,则可能需要运行sudo -E npm install oracledb
- Install XCode
- Install Instant Client
- Create the sym link used by Instant Client 12c
- Set OCI_LIB_DIR and OCI_INC_DIR to the Instant Client directories
- Set http_proxy if you are behind a firewall
- Run
npm install oracledb
If using sudo, you probably need to runsudo -E npm install oracledb
为帮助诊断您的问题,请向我们显示您尝试执行的步骤的日志.
To help diagnose your issue, show us the log of the steps you tried.
这篇关于npm install oracledb给出错误:找不到$ OCI_LIB_DIR/libclntsh.dylib的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!