linux下如何设置环境变量LD_LIBRARY_PATH

我首先执行了命令:export LD_LIBRARY_PATH=/usr/local/lib

然后我已经打开了.bash_profile文件: 在这个文件中,我放入:

LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH

然后,如果终端被关闭并重新启动,则输入echo $LD_LIBRARY_PATH不会显示任何结果。

如何永久设置路径?

1287306 次浏览

.bash_profile文件仅由登录shell执行。你可能需要把它放在~/.bashrc中,或者简单地登出并再次登录。

export LD_LIBRARY_PATH=/usr/local/lib放在~/.bashrc中[最好放在脚本末尾,以避免在两者之间进行任何覆盖,默认~/.bashrc带有许多if-else语句]

发布当你打开一个新的terminal/konsole时,LD_LIBRARY_PATH将会被反映出来

你应该添加更多关于你的发行版的细节,例如在Ubuntu下,正确的方法是添加一个自定义的.conf文件到/etc/ld.so.conf.d,例如

sudo gedit /etc/ld.so.conf.d/randomLibs.conf

例如,在文件内部,您应该写入包含希望添加到系统中的所有库的目录的完整路径

/home/linux/myLocalLibs

记住只添加目录的路径,而不是文件的完整路径,该路径内的所有库将被自动索引。

保存并运行sudo ldconfig,用这个库更新系统。

你可以尝试添加一个自定义脚本,比如/etc/profile.d中的myenv_vars.sh

cd /etc/profile.d
sudo touch myenv_vars.sh
sudo gedit myenv_vars.sh

将其添加到空文件中,并保存它。

export LD_LIBRARY_PATH=/usr/local/lib

注销和登录,LD_LIBRARY_PATH将被永久设置。

添加

LD_LIBRARY_PATH =“/道路/你/ want1: /道路/你/想要/ 2“;

/etc/environment

参见Ubuntu的文档

更正:我应该听从自己的建议,认真阅读文档。它说这不适用于LD_LIBRARY_PATH: 从Ubuntu 9.04 Jaunty Jackalope开始,在$HOME/目录下不能设置LD_LIBRARY_PATH。“Profile”、“/etc/profile”、“/etc/environment”文件。必须使用/etc/ld.so.conf.d/.conf配置文件。所以user1824407的回答是正确的。

我在Mint 15到17中做以下工作,也适用于ubuntu服务器12.04及以上:

sudo vi /etc/bash.bashrc

滚动到底部,并添加:

export LD_LIBRARY_PATH=.

所有用户都添加了环境变量。

由于某种原因,没有人提到bashrc在编辑后需要重新来源的事实。你可以登出并重新登录(如上所述),但你也可以使用命令:source ~/.bashrc. ~/.bashrc

或者你也可以用指定的库目录执行程序:

/lib/ld-linux.so.2 --library-path PATH EXECUTABLE

点击这里阅读更多

保持之前的路径,不要覆盖它:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/

你可以把它添加到你的~/.bashrc:

echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/' >> ~/.bashrc
  1. 转到主文件夹并编辑.profile
  2. 将以下一行放在末尾

    export LD_LIBRARY_PATH=<your path> < / p >

  3. 保存并退出。

  4. 执行该命令

    sudo ldconfig < / p >

Ubuntu 20.04 Linux中,这只是不明显和直接的,因为它应该是。

我将尝试使它简单的任何人谁是拔他们的头发,就像我是我的Ubuntu 20.04.3 Linux

首先确定库文件文件夹所在的路径。在我的例子中,我正在使用的*所以文件位于一个名为填词的文件夹中,这个文件夹在我的Ubuntu盒子中的路径是特性

所以现在我想添加路径特性LD_LIBRARY_PATH,这样当我在我的Ubuntu终端运行echo $ LD_LIBRARY_PATH时,我将能够看到路径特性,如下所示;

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. 使用文本编辑器创建一个后缀名为*. conf的文件 例如,vim中用户在我的情况下,我创建它如下Sudo gedit my_project_lib .conf
  4. 在我创建的名为my_project_lib .conf的. conf文件中 我通过添加这一行export将路径添加到我的库中 LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / usr / lib < /强> < /李>
  5. 之后,我运行中~ / . bash_profile来打开 ~ / . bash_profile文件,以便我可以在其中添加这一行出口LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / usr / lib,其中包括我想要的带有我的库特性的文件夹的路径 包含在LD_LIBRARY_PATH
  6. 我还运行中~ / . bashrc打开 ~ / . bashrc文件,以便我可以在其中添加这一行出口LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / usr / lib,其中包括我想要的带有我的库特性的文件夹的路径 包含在LD_LIBRARY_PATH
  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盒子。

每个人似乎都是只见树木不见森林。

真正的答案是'~/。bash_profile'在默认情况下只用于LOGIN shell。

如果您正在从桌面GUI启动和关闭终端,那么您可能正在寻找的bash配置文件是'~/。Bashrc ',它是启动交互式、非登录shell时默认的源文件。

https://apple.stackexchange.com/questions/51036/what-is-the-difference-between-bash-profile-and-bashrc < a href = " https://apple.stackexchange.com/questions/51036/what-is-the-difference-between-bash-profile-and-bashrc " > < / >