只有桶装自制的公式

asy*_*ric 52 macos homebrew

今天我curl通过安装公式homebrew,但在安装之后(并重新采购shell)我注意到:

% which curl 
/usr/bin/curl
Run Code Online (Sandbox Code Playgroud)

事实上,输出结果brew install curl表明它是一个只有keg的公式,并且由于curl已经存在于OS X中,因此它没有将它链接到Homebrew前缀,因为这可能导致未指定的问题.

然后它继续说明

一般来说,这对您没有任何影响

我想知道:

  • 究竟是什么类型的问题?
  • 通过Homebrew安装只有keg的公式的目的是什么?如果新安装的工具不在,怎么会没有后果PATH

mar*_*ton 56

  • 问题:如果将自制软件应用程序放在默认OS X版本之前的路径中,那么可能会发生任何事情.最常见的问题是由两个版本中可用的命令行选项集之间的差异或选项含义的差异引起的.对于curl而言,后果可能并不是那么糟糕,但对于其他应用程序,您可能会在最坏的情况下破坏操作系统.
  • Keg-only:现在你有两个版本的curl!默认的OS X和自制程序.如果您想使用不在默认情况下但在自制软件中的功能,可以通过显式调用homebrew curl来实现.确切的路径取决于你如何设置自制软件.由于新安装的版本不在路径中,因此除非明确调用,否则不太可能导致问题.

  • 如果它们是动态链接的并且是一个更新的版本,也会遇到问题 - 更新版本的.so可能会以比旧版本更高的优先级链接并打破旧版本,特别是如果它们的版本非常不同. (5认同)
  • Git已安装在Mac OS X 10.8上,但Git Homebrew公式不仅仅是keg,即它将`git`放在默认OS X版本前面的路径中.这可以吗? (2认同)
  • @CMCDragonkai您可以随时使用shell别名来执行此操作.http://tldp.org/LDP/abs/html/aliases.html (2认同)