我使用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
会消失?
答案 0 :(得分:0)
您没有解释如何调用脚本。如果您是sudo-ing,是否需要在调用节点之前调用设置LD_LIBRARY_PATH的shell脚本?