如何在linux中设置环境变量LD_LIBRARY_PATH

2024-09-30 14:02:00
admin
原创
595
摘要:问题描述:我首先执行了以下命令:export LD_LIBRARY_PATH=/usr/local/lib然后我打开了.bash_profile文件:vi ~/.bash_profile。在这个文件中,我输入了:LD_LIBRARY_PATH=/usr/local/lib export LD_LIBRARY_...

问题描述:

我首先执行了以下命令: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:

  1. 进入主文件夹并编辑 .profile

  2. 将以下行放在末尾

export LD_LIBRARY_PATH=<your path>

  1. 保存并退出。

  2. 执行此命令

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

以下是我使用的步骤

  1. 在 Ubuntu 20.04 Linux 框中打开终端

  2. 通过运行cd /etc/ld.so.conf.d/将路径更改为/etc/ld.so.conf.d/

  3. 使用文本编辑器(
    例如vimgedit)创建一个末尾带有 * .conf扩展名的文件,我按照如下方式创建它:sudo gedit my_project_libs.conf

  4. 在我创建的名为my_project_libs.conf 的.conf文件中,我通过添加此行export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib
    添加了到我的库的路径

  5. 此后,我运行gedit ~/.bash_profile来打开
    ~/.bash_profile文件,以便我可以在其中添加此行export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib,其中包括我想要包含在LD_LIBRARY_PATH中的库/usr/lib文件夹的路径

  6. 我还运行了gedit ~/.bashrc来打开
    ~/.bashrc文件,以便我可以在其中添加此行export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib,其中包括我想要包含在LD_LIBRARY_PATH中的库/usr/lib文件夹的路径

  7. 完成步骤 5 中添加行后,保存关闭

  8. 在终端中,输入以下命令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 时默认获取的文件。

https://apple.stackexchange.com/questions/51036/what-is-the-difference- Between-bash-profile-and-bashrc

相关推荐
  政府信创国产化的10大政策解读一、信创国产化的背景与意义信创国产化,即信息技术应用创新国产化,是当前中国信息技术领域的一个重要发展方向。其核心在于通过自主研发和创新,实现信息技术应用的自主可控,减少对外部技术的依赖,并规避潜在的技术制裁和风险。随着全球信息技术竞争的加剧,以及某些国家对中国在科技领域的打压,信创国产化显...
工程项目管理   1565  
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   1354  
  信创国产芯片作为信息技术创新的核心领域,对于推动国家自主可控生态建设具有至关重要的意义。在全球科技竞争日益激烈的背景下,实现信息技术的自主可控,摆脱对国外技术的依赖,已成为保障国家信息安全和产业可持续发展的关键。国产芯片作为信创产业的基石,其发展水平直接影响着整个信创生态的构建与完善。通过不断提升国产芯片的技术实力、产...
国产信创系统   21  
  信创生态建设旨在实现信息技术领域的自主创新和安全可控,涵盖了从硬件到软件的全产业链。随着数字化转型的加速,信创生态建设的重要性日益凸显,它不仅关乎国家的信息安全,更是推动产业升级和经济高质量发展的关键力量。然而,在推进信创生态建设的过程中,面临着诸多复杂且严峻的挑战,需要深入剖析并寻找切实可行的解决方案。技术创新难题技...
信创操作系统   27  
  信创产业作为国家信息技术创新发展的重要领域,对于保障国家信息安全、推动产业升级具有关键意义。而国产芯片作为信创产业的核心基石,其研发进展备受关注。在信创国产芯片的研发征程中,面临着诸多复杂且艰巨的难点,这些难点犹如一道道关卡,阻碍着国产芯片的快速发展。然而,科研人员和相关企业并未退缩,积极探索并提出了一系列切实可行的解...
国产化替代产品目录   28  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用