我想对@asymmetric 提出的第二个问题(与仅桶的机制有关)添加一些补充。
HomeBrew 的前缀是/usr/local
,并且 HomeBrew 将所有已安装的小桶保存在默认目录中,例如/usr/local/Cellar
. 一般来说,HomeBrew 可以为已安装的公式(非仅桶公式)创建符号链接,并且相应的符号链接保存在/usr/local/bin
. 当 HomeBrew 安装公式时,此符号链接创建过程是自动的。这里的路径/usr/local/bin
将被称为默认(符号链接)前缀。
另一方面,根据 HomeBrew 的常见问题解答,我们有以下指导:
``仅桶式配方仅安装到酒窖中,并且未链接到默认前缀中。这意味着大多数工具都找不到它。''
但同时 HomeBrew 会在目录/usr/local/opt
中为所有已安装的公式创建符号链接,无论它们是否仅是小桶。
我们应该注意两个关键点:
- 默认情况下,默认(符号链接)前缀
/usr/local/bin
是 in PATH
,但非前缀/usr/local/opt
不是 in PATH
。
- 默认情况下,默认(符号链接)前缀
/usr/local/bin
通常指向最新版本的公式。因此,如果您想使用某些公式的特定版本(通常是仅桶格式),您可以临时在您PATH
的前面加上仅桶公式的bin
目录,例如,export PATH="$(brew --prefix)/opt/FormulaName/bin:${PATH}"
.
上述设置/usr/local/opt
可以解决可执行文件冲突。一般来说,你的系统中可能有一个公式或程序有很多不同的版本,比如最新版本和过时版本,苹果原生版本和本地安装版本等等。当您执行或编译一些与当前使用的公式或程序有些相关的其他程序时,这些情况可能会导致冲突。