Nodejs模块oracled找不到LD_LIBRARY_PATH

时间:2016-04-13 15:53:41

标签: linux node.js oracle centos6

我使用Centos 6 VM上的oracledb模块在我的nodejs脚本中收到以下错误:

Error: libclntsh.so.11.1: cannot open shared object file: No such file or directory

我们正在使用完整的Oracle客户端。我的谷歌搜索让我LD_LIBRARY_PATH成了问题。它在oracle脚本的/etc/profile.d/中设置,我可以在我的linux用户的env输出中看到它。但是,当我在节点脚本中检查process.env时,LD_LIBRARY_PATH根本就不存在。 (如果我将其他变量添加到我的/etc/profile.d脚本中,那些测试变量会显示在process.env

另一个奇怪的是,当我将脚本作为root运行时,变量设置正确并且脚本按预期执行。

那么,当我的非root用户运行脚本时,为什么LD_LIBRARY_PATH会消失?

1 个答案:

答案 0 :(得分:0)

您没有解释如何调用脚本。如果您是sudo-ing,是否需要在调用节点之前调用设置LD_LIBRARY_PATH的shell脚本?