如何在linux中设置环境变量LD_LIBRARY_PATH
- 2024-09-30 14:02:00
- admin 原创
- 209
问题描述:
我首先执行了以下命令: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:
保留以前的路径,不要覆盖它:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/
您可以将其添加到您的~/.bashrc
:
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/' >> ~/.bashrc
解决方案 3:
添加
LD_LIBRARY_PATH="/路径/你/想要1:/路径/你/想要/2"
到/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 的回答是正确的。
解决方案 4:
或者,您可以使用指定的库目录执行程序:
/lib/ld-linux.so.2 --library-path PATH EXECUTABLE
解决方案 5:
该文件.bash_profile
仅由登录 shell 执行。您可能需要将其放入~/.bashrc
,或者直接注销并再次登录。
解决方案 6:
由于某种原因,没有人提到编辑后需要重新获取 bashrc。您可以注销并重新登录(如上所述),但也可以使用以下命令:source ~/.bashrc
或. ~/.bashrc
。
解决方案 7:
输入[最好放在脚本末尾,以避免中间出现任何覆盖,默认export LD_LIBRARY_PATH=/usr/local/lib
带有许多语句]~/.bashrc
`~/.bashrc`if-else
发布后,每当你打开一个新的终端/控制台时,LD_LIBRARY_PATH
都会反映出来
解决方案 8:
进入主文件夹并编辑 .profile
将以下行放在末尾
export LD_LIBRARY_PATH=<your path>
保存并退出。
执行此命令
sudo ldconfig
解决方案 9:
您可以尝试添加自定义脚本, 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
将会被永久设置。
解决方案 10:
我在 Mint 15 到 17 中执行以下操作,也适用于 ubuntu server 12.04 及更高版本:
sudo vi /etc/bash.bashrc
滚动到底部,然后添加:
export LD_LIBRARY_PATH=.
所有用户都已添加环境变量。
解决方案 11:
在Ubuntu 20.04 Linux中,这并不像它应该的那样明显和直接。
我将尝试让那些像我使用Ubuntu 20.04.3 Linux一样抓狂的人能够轻松使用它。
首先确定库文件文件夹所在的路径。在我的例子中,我使用的* .so文件位于名为libs的文件夹中,而这个文件夹在我的 Ubuntu 机器中的路径是/usr/lib
所以现在我想将路径/usr/lib添加到LD_LIBRARY_PATH,这样当我在 Ubuntu 终端中运行echo $LD_LIBRARY_PATH时,我将能够看到回显的路径 /usr/lib,如下所示;
joseph$ echo $LD_LIBRARY_PATH
:/usr/lib
以下是我使用的步骤
在 Ubuntu 20.04 Linux 框中打开终端
通过运行cd /etc/ld.so.conf.d/将路径更改为/etc/ld.so.conf.d/
使用文本编辑器(
例如vim或gedit)创建一个末尾带有 * .conf扩展名的文件,我按照如下方式创建它:sudo gedit my_project_libs.conf在我创建的名为my_project_libs.conf 的.conf文件中,我通过添加此行export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib
添加了到我的库的路径此后,我运行gedit ~/.bash_profile来打开
~/.bash_profile文件,以便我可以在其中添加此行export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib,其中包括我想要包含在LD_LIBRARY_PATH中的库/usr/lib文件夹的路径我还运行了gedit ~/.bashrc来打开
~/.bashrc文件,以便我可以在其中添加此行export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib,其中包括我想要包含在LD_LIBRARY_PATH中的库/usr/lib文件夹的路径完成步骤 5 中添加行后,保存并关闭。
在终端中,输入以下命令sudo ldconfig并按下
键盘上的回车键。关闭所有打开的终端,然后打开一个新的终端会话并运行 echo $LD_LIBRARY_PATH 如果您看到您添加的路径被回显,则说明您做对了。
就我而言,当我在新打开的 Ubuntu 终端会话中运行echo $LD_LIBRARY_PATH时,我看到的是:/usr/lib
joseph$ echo $LD_LIBRARY_PATH
:/usr/lib
这就是我如何在Ubuntu 20.04.3 Linux机器上让它工作。
解决方案 12:
似乎每个人都只见树木不见森林。
真正的答案是'~/.bash_profile'默认仅供LOGIN SHELLS使用。
如果您从桌面 GUI 启动和关闭终端,您可能正在寻找的 bash 配置文件是“~/.bashrc”,这是启动交互式非登录 shell 时默认获取的文件。
- 2024年20款好用的项目管理软件推荐,项目管理提效的20个工具和技巧
- 2024年开源项目管理软件有哪些?推荐5款好用的项目管理工具
- 项目管理软件有哪些?推荐7款超好用的项目管理工具
- 项目管理软件哪个最好用?盘点推荐5款好用的项目管理工具
- 项目管理软件有哪些最好用?推荐6款好用的项目管理工具
- 项目管理软件有哪些,盘点推荐国内外超好用的7款项目管理工具
- 2024项目管理软件排行榜(10类常用的项目管理工具全推荐)
- 项目管理软件排行榜:2024年项目经理必备5款开源项目管理软件汇总
- 2024年常用的项目管理软件有哪些?推荐这10款国内外好用的项目管理工具
- 项目管理必备:盘点2024年13款好用的项目管理软件