如何在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_...

问题描述:

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

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   601  
  华为IPD与传统研发模式的8大差异在快速变化的商业环境中,产品研发模式的选择直接决定了企业的市场响应速度和竞争力。华为作为全球领先的通信技术解决方案供应商,其成功在很大程度上得益于对产品研发模式的持续创新。华为引入并深度定制的集成产品开发(IPD)体系,相较于传统的研发模式,展现出了显著的差异和优势。本文将详细探讨华为...
IPD流程是谁发明的   7  
  如何通过IPD流程缩短产品上市时间?在快速变化的市场环境中,产品上市时间成为企业竞争力的关键因素之一。集成产品开发(IPD, Integrated Product Development)作为一种先进的产品研发管理方法,通过其结构化的流程设计和跨部门协作机制,显著缩短了产品上市时间,提高了市场响应速度。本文将深入探讨如...
华为IPD流程   9  
  在项目管理领域,IPD(Integrated Product Development,集成产品开发)流程图是连接创意、设计与市场成功的桥梁。它不仅是一个视觉工具,更是一种战略思维方式的体现,帮助团队高效协同,确保产品按时、按质、按量推向市场。尽管IPD流程图可能初看之下显得错综复杂,但只需掌握几个关键点,你便能轻松驾驭...
IPD开发流程管理   8  
  在项目管理领域,集成产品开发(IPD)流程被视为提升产品上市速度、增强团队协作与创新能力的重要工具。然而,尽管IPD流程拥有诸多优势,其实施过程中仍可能遭遇多种挑战,导致项目失败。本文旨在深入探讨八个常见的IPD流程失败原因,并提出相应的解决方法,以帮助项目管理者规避风险,确保项目成功。缺乏明确的项目目标与战略对齐IP...
IPD流程图   8  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

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

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

内置subversion和git源码管理

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

免费试用