2011-01-14 17 views
48

Obecnie zainstalowaniu wzór curl poprzez homebrew, a po zainstalowaniu go (i ponownego pozyskiwania powłokę) i zauważyć, że:beczek tylko do formuły homebrew

% which curl 
/usr/bin/curl 

w rzeczywistości, na wyjściu brew install curl oświadczył, że jest to formuła tylko keg, a ponieważ curl był już obecny w systemie OS X, nie łączył go z prefiksem Homebrew, ponieważ może to spowodować nieokreślone problemy.

Następnie przebiega stwierdzając, że

Generalnie istnieją żadne konsekwencje tego dla ciebie

chciałbym wiedzieć:

  • jakiego rodzaju problemy dokładnie?
  • Jaki jest cel instalowania formuł keg-only za pośrednictwem Homebrew? Jak nie może być żadnych konsekwencji, jeśli nowo zainstalowane narzędzie nie jest w wersji PATH?
+0

Uważam, że sformułowanie "Ogólnie nie ma dla ciebie żadnych konsekwencji", jest bardzo mylące, szczególnie w odniesieniu do "LDFLAGS" i "CPPFLAGS". Zajęło mi trochę czasu, aby zdać sobie sprawę, że jest drukowane dla wszystkich formuł tylko do beczek. Przerwy akapitowe nie wyjaśniają, do czego odnosi się wiadomość. – duozmo

Odpowiedz

55
  • Problemy: jeśli aplikacja homebrew jest umieścić w ścieżce przed domyślne OS X wersja tego samego, naprawdę niczego może się zdarzyć. Najczęstsze problemy są spowodowane różnicami między zestawem opcji dostępnych w dwóch wersjach lub różnicami w znaczeniu opcji. Dla curl konsekwencje mogą nie być tak złe, ale dla innych aplikacji możesz, w najgorszym razie, zepsuć system operacyjny.
  • Tylko keg: teraz masz dwie wersje curl! Domyślny OS X i homebrew. Jeśli chcesz korzystać z funkcji, które nie są domyślne, ale w homebrew, możesz to zrobić, wywołując jawnie lokalny curl. Dokładna ścieżka zależy od tego, jak skonfigurujesz homebrew. Ponieważ nowo zainstalowana wersja nie znajduje się na ścieżce, najprawdopodobniej nie spowoduje problemu, chyba że zostanie wyraźnie wywołana.
+5

Może również napotkać problemy, jeśli są one dynamicznie połączone, a jedna jest nowszą wersją - nowsza wersja .so może zostać połączona z wyższym priorytetem niż starszy i zepsuć starsze wersje, zwłaszcza jeśli są to bardzo różne wersje. –

+0

@Marc - dobry punkt! –

+2

Git jest już zainstalowany na Mac OS X 10.8, ale formuła The Git Homebrew nie jest keg-only, tzn. Umieszcza 'git' w ścieżce przed domyślną wersją OS X." Czy to w porządku? – ma11hew28