2011-01-14 22 views
48

今天我通過homebrew安裝curl公式,但安裝它(並重新採購殼)後,我注意到:小桶,只有自制配方

% which curl 
/usr/bin/curl 

爲事實上的brew install curl輸出說這是一個桶只有公式,並且由於curl已經存在於OS X,它沒有鏈接到Homebrew前綴,因爲這可能會導致未指定的問題。

然後繼續指出

通常有你

沒有這方面的後果,我想知道:

  • 究竟什麼類型的問題?
  • 通過Homebrew安裝桶只有公式的目的是什麼?如果新安裝的工具不在PATH中,怎麼會沒有後果?
+0

我發現「通常對你沒有任何後果」的措詞非常混亂,特別提到`LDFLAGS`和`CPPFLAGS`。花了我一段時間才意識到它是爲所有小桶配方而打印的。段落中斷沒有說明該消息與什麼有關。 – duozmo 2015-06-24 19:31:40

回答

55
  • 問題:如果一個自制應用程序放在路徑相同的默認OS X版本前,真的什麼可能發生。最常見的問題是由兩個版本中可用的命令行選項集之間的差異或選項含義的差異引起的。對於curl來說,後果可能不會那麼糟糕,但對於其他應用程序而言,最壞的情況下可能會破壞操作系統。
  • 小桶只有:現在你有兩個版本的捲曲!默認的OS X和自制軟件。如果你想使用不在默認但在自制軟件中的功能,你可以通過顯式調用自制軟件curl來實現。確切的路徑取決於你如何設置自制軟件。由於新安裝的版本不在路徑中,除非明確調用它,否則不會引起問題。
+5

如果它們是動態鏈接的,而且是較新的版本,也可能會遇到問題 - 較新版本的.so可能會以比較舊的優先級更高的優先級鏈接,並打破較早的版本,尤其是如果它們是非常不同的版本。 – 2011-01-14 13:26:41