有没有办法在我的 .bash_profile 中加快对 brew --prefix 的调用?
Is there a way to speed up the calls to brew --prefix in my .bash_profile?
我的 .bash_profile
加载时间很长,我已将罪魁祸首缩小到以下两行:
export PATH="$(brew --prefix homebrew/php/php55)/bin:$PATH"
. "$(brew --prefix nvm)/nvm.sh"
看来问题是 brew --prefix
正在调用自制服务器以获取这些变量的值,但我不是 100% 确定。这就是为什么这两个电话需要这么长时间吗? (我已经确认不是对 nvm.sh
的调用花费了很长时间)。
有没有办法缓存这些调用的结果?我知道我可以简单地对 brew --prefix
的输出进行硬编码,但我不想这样做,因为如果它在某个时候发生变化会发生什么……或者这不会成为问题吗?
根据我的经验,安装软件包后路径会相当一致,因此 hard-code 输出应该没问题。到目前为止,我已经在我的配置中完成了这个,没有任何问题。
为了安全起见,您可以这样做,只有当硬编码目录不存在时才会使用 brew --prefix
:
if [ -d "/usr/local/opt/php55/bin" ]; then
export PATH="/usr/local/opt/php55/bin:$PATH"
else
export PATH="$(brew --prefix homebrew/php/php55)/bin:$PATH"
fi
我的 .bash_profile
加载时间很长,我已将罪魁祸首缩小到以下两行:
export PATH="$(brew --prefix homebrew/php/php55)/bin:$PATH"
. "$(brew --prefix nvm)/nvm.sh"
看来问题是 brew --prefix
正在调用自制服务器以获取这些变量的值,但我不是 100% 确定。这就是为什么这两个电话需要这么长时间吗? (我已经确认不是对 nvm.sh
的调用花费了很长时间)。
有没有办法缓存这些调用的结果?我知道我可以简单地对 brew --prefix
的输出进行硬编码,但我不想这样做,因为如果它在某个时候发生变化会发生什么……或者这不会成为问题吗?
根据我的经验,安装软件包后路径会相当一致,因此 hard-code 输出应该没问题。到目前为止,我已经在我的配置中完成了这个,没有任何问题。
为了安全起见,您可以这样做,只有当硬编码目录不存在时才会使用 brew --prefix
:
if [ -d "/usr/local/opt/php55/bin" ]; then
export PATH="/usr/local/opt/php55/bin:$PATH"
else
export PATH="$(brew --prefix homebrew/php/php55)/bin:$PATH"
fi