Я получаю следующее сообщение об ошибке в моем nodejs сценарии с помощью модуля oracledb на Centos 6 VM:Nodejs модуль oracled не может найти LD_LIBRARY_PATH
Error: libclntsh.so.11.1: cannot open shared object file: No such file or directory
Мы используем полный клиент Oracle. Мои поисковые запросы привели меня к ошибке LD_LIBRARY_PATH
. Он установлен в /etc/profile.d/
в сценарии oracle, и я могу видеть его на выходе моего Linux-пользователя env
. Но когда я проверяю process.env
в скрипте узла, LD_LIBRARY_PATH
просто не существует. (Если добавить другие переменные в мой /etc/profile.d
сценарий, эти тестовые переменные появляются в process.env
)
Другая странность в том, что, когда я бегу сценарий как root
, переменная получает правильно установлен и сценарий выполняется, как ожидалось.
Так почему же LD_LIBRARY_PATH
исчезает, когда мой пользователь без полномочий root запускает скрипт?
Когда я использую пользователя без полномочий root, я просто запускаю скрипт без sudo. LD_LIBRARY_PATH устанавливается только в /etc/profile.d и нигде. – newmangt
Вы фактически «экспортировали» его? Как вы вызываете узел? –