.bashrc/.bash_profile 未加载导出

.bashrc/.bash_profile 未加载导出

我正在尝试编译代码,为了使其工作,我需要在编译之前运行以下行:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

此后,代码可以正常编译,我尝试添加此代码,这样每次重新启动 PC 时就无需运行此行。我尝试将该行添加到文件中.bashrc(文件路径是否需要引号?),但似乎不起作用。我还尝试创建一个.bash_profile文件并在其中添加该行,但这似乎仍然不起作用。

添加后,每当我尝试编译时.bash_profile都会出现以下错误:

./makeScript: line 1: pkg-config: command not found

答案1

~/.bashrc如果你将它添加到或中它应该可以工作~/.bash_profile

如果这不起作用,请确保你的脚本确实使用了bashshell (舍邦),如果你使用了不同的shell,有可能无法加载。

不过,我认为您的问题与无关PKG_CONFIG_PATH,而是与PATH不包含pkg-config可执行二进制文件所在的正确目录的变量有关。

检查方式:

$ which pkg-config
/usr/local/bin/pkg-config

如果找不到它,请确保你已经安装并链接它,例如使用自制

brew install pkg-config; brew link pkg-config

而你的/usr/local/bin在你的PATH,例如

export PATH=/usr/local/sbin:/usr/local/bin:$PATH

附注:您可以set在链接失败之前运行命令来检查导出变量。

跟踪问题的另一件事是通过运行以下命令来调试脚本:bash -x ./makeScript或者-x在脚本末尾添加舍邦(例如#!/bin/bash -x)。

答案2

~/.profile

$ cat >> ~/.profile << EOF
> PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
> EOF

加载更改(如果您不想重新启动):

$ source ~/.profile

测试:

$ echo $PKG_CONFIG_PATH
/usr/local/lib/pkgconfig

相关内容