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

时间:2012-11-17 08:22:25

标签: linux environment-variables

我先执行了命令: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将不显示任何结果。

如何永久设置路径?

10 个答案:

答案 0 :(得分:169)

您应该添加有关您的发布的更多详细信息,例如在Ubuntu下,正确的方法是将自定义.conf文件添加到/etc/ld.so.conf.d,例如

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

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

/home/linux/myLocalLibs

记得只添加dir的路径,而不是文件的完整路径,该路径中的所有lib都将自动编入索引。

保存并运行sudo ldconfig以使用此库更新系统。

答案 1 :(得分:61)

保留上一条路径,不要覆盖它:

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

您可以将其添加到〜/ .bashrc:

echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/' >> ~/.bashrc

答案 2 :(得分:31)

添加

  

LD_LIBRARY_PATH = “/路径/你/ want1:/路径/你/想/ 2”

/etc/environment

请参阅Ubuntu Documentation

更正:我应该接受我自己的建议并实际阅读文档。它说这不适用于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 :(得分:20)

文件.bash_profile仅由登录shell执行。您可能需要将其放在~/.bashrc中,或者只需注销并再次登录。

答案 4 :(得分:14)

export LD_LIBRARY_PATH=/usr/local/lib放入~/.bashrc [最好在脚本末尾以避免其间的任何覆盖,默认~/.bashrc附带许多if-else语句]

发布新的终端/ konsole时,LD_LIBRARY_PATH将被反映

答案 5 :(得分:14)

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

答案 6 :(得分:14)

或者,您可以使用指定的库目录执行程序:

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

Read more here

答案 7 :(得分:6)

  1. 转到主文件夹并编辑.profile
  2. 将以下行放在最后

    export LD_LIBRARY_PATH=<your path>

  3. 保存并退出。

  4. 执行此命令

    sudo ldconfig

答案 8 :(得分:3)

您可以尝试添加自定义脚本,例如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将永久设置。

答案 9 :(得分:2)

我在Mint 15到17中执行以下操作,也适用于ubuntu服务器12.04及更高版本:

sudo vi /etc/bash.bashrc 

滚动到底部,然后添加:

export LD_LIBRARY_PATH=.

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