gpt4 book ai didi

linux - Nodejs模块oracle找不到LD_LIBRARY_PATH

转载 作者:太空宇宙 更新时间:2023-11-04 05:23:52 25 4
gpt4 key购买 nike

我在 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 输出中看到它。但是当我在 Node 脚本中检查 process.env 时,LD_LIBRARY_PATH 根本不存在。 (如果我将其他变量添加到我的 /etc/profile.d 脚本中,这些测试变量将出现在 process.env 中)

另一个奇怪的地方是,当我以 root 身份运行脚本时,变量被正确设置并且脚本按预期执行。

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

最佳答案

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

关于linux - Nodejs模块oracle找不到LD_LIBRARY_PATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36603643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com