Как установить переменную окружения LD_LIBRARY_PATH в Linux
Сначала я выполнил команду: export LD_LIBRARY_PATH=/usr/local/lib
Затем я открыл файл .bash_profile
: vi ~/.bash_profile
.
В этом файле я поставил:
LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH
Затем, если терминал закрыт и перезапущен, ввод echo $LD_LIBRARY_PATH
не отображает результат.
Как установить путь навсегда?
Ответы
Ответ 1
Вы должны добавить более подробную информацию о своем дистрибутиве, например, в Ubuntu правильным способом сделать это - добавить пользовательский .conf
файл в /etc/ld.so.conf.d
, например
sudo gedit /etc/ld.so.conf.d/randomLibs.conf
внутри файла вы должны написать полный путь к каталогу, который содержит все библиотеки, которые вы хотите добавить в систему, например
/home/linux/myLocalLibs
Не забудьте добавить только путь к директории, а не полный путь к файлу, все библиотеки внутри этого пути будут автоматически индексироваться.
Сохраните и запустите sudo ldconfig
, чтобы обновить систему с помощью этих библиотек.
Ответ 2
Добавить
LD_LIBRARY_PATH = "/путь/вы/want1:/путь/вы/хотите/2"
to /etc/environment
См. документацию Ubuntu.
КОРРЕКЦИЯ: Я должен взять мой собственный совет и фактически прочитать документацию. В нем говорится, что это не относится к LD_LIBRARY_PATH: поскольку Ubuntu 9.04 Jaunty Jackalope, LD_LIBRARY_PATH не может быть установлен в файлах $HOME/.profile,/etc/profile, а также /etc/environment. Вы должны использовать конфигурационные файлы /etc/ld.so.conf.d/.conf. * Таким образом, user1824407 отвечает на вопрос.
Ответ 3
Сохраняйте предыдущий путь, не перезаписывайте его:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/
Вы можете добавить его в свой файл ~/.bashrc:
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/" >> ~/.bashrc
Ответ 4
Файл .bash_profile
выполняется только с помощью оболочек входа. Возможно, вам нужно будет поместить его в ~/.bashrc
или просто выйти из системы и снова войти в систему.
Ответ 5
Поместите export LD_LIBRARY_PATH=/usr/local/lib
в ~/.bashrc
[желательно в конец script, чтобы избежать каких-либо переопределений между ними, по умолчанию ~/.bashrc
поставляется со многими операторами if-else
]
Сообщайте, что всякий раз, когда вы открываете новый терминал/консоль, LD_LIBRARY_PATH
будет отображаться
Ответ 6
По какой-то причине никто не упомянул о том, что после редактирования bashrc необходимо повторно загрузить. Вы можете либо выйти из системы, либо войти в систему (как указано выше), но вы также можете использовать команды: source ~/.bashrc
или . ~/.bashrc
.
Ответ 7
В качестве альтернативы вы можете выполнить программу с указанным библиотекой dir:
/lib/ld-linux.so.2 --library-path PATH EXECUTABLE
Подробнее здесь.
Ответ 8
Ответ 9
Я делаю следующее в Mint с 15 по 17, также работает на сервере ubuntu 12.04 и выше:
sudo vi /etc/bash.bashrc
прокрутите страницу вниз и добавьте:
export LD_LIBRARY_PATH=.
Все пользователи имеют добавленную переменную окружения.
Ответ 10
Вы можете попробовать добавить пользовательский script, скажем myenv_vars.sh
в /etc/profile.d
.
cd /etc/profile.d
sudo touch myenv_vars.sh
sudo gedit myenv_vars.sh
Добавьте это в пустой файл и сохраните его.
export LD_LIBRARY_PATH=/usr/local/lib
Выход и логин, LD_LIBRARY_PATH
будут установлены навсегда.