Kiedyś myślałem, że obawy o to, co zrobią narzędzia do budowania Gnu, /usr/local
zbliżają się do paranoi. Narzędzia do kompilacji oczekują, że będzie tam wiele rzeczy: w dawnych dobrych czasach, zanim menedżerowie pakietów (żartuję), kompilowaliśmy wszystko /usr/local
. Ale chociaż Autoconf zwykle rozwiązuje problemy, sama złożoność kompilacji wielu projektów typu open source powoduje problemy i problemy te mogą być trudne do wycofania się, gdy napotkasz trudności.
Ale ryzyko kłopotów z Autoconf znalezieniem czegoś, czego nie powinno być poniżej, /usr/local
musi być zrównoważone, ponieważ uciążliwość w utrzymaniu ma dwie, trzy lub cztery różne kopie Perla, Tcl i Ruby, każda z innym zasięgiem różnych bibliotek pakietów. Nieprzyjemny.
Ponieważ moje doświadczenie z MacPorts i Fink było zwykle rozdrażnieniem spowodowanym właśnie tym, i w pewnym momencie przeszedłem na kompilowanie staromodnego sposobu /usr/local
, z przyjemnością zobaczyłem, że Homebrew nie zadzierało z tym. Próbowałem skonfigurować MacPorts do instalacji /usr/local
, ale MacPorts robi wszystko, aby to utrudnić. Rozumiem, że motywacją jest ułatwienie sobie życia, gdy mamy do czynienia z wołaniem o pomoc na ich liście mailowej i śledzeniu błędów: pamiętaj jednak, że chociaż powinniśmy szanować wysiłek ochotników i traktować ich czas jako cenny, ich wygoda debugowania nie jest jedyną prostotą, która wpływa na ciebie jako użytkownika.
Homebrew, przynajmniej pod tym względem, robi rzeczy tak, jak kiedyś, a MacPorts stara się nie wtrącać. Jeśli chcesz udokumentować, które paczki potrzebujesz za pomocą Homebrew i wyczyścić / usr / local wyczyścić i ponownie zainstalować w przypadku trudności, zawsze możesz wycofać się na wypadek, gdyby coś poszło nie tak. A gdy zorientujesz się, że problemy w / usr / local nie wiążą się z ryzykiem trwałego uszkodzenia twoich maszyn, możesz poczuć się swobodniej.
Zwrócę tylko uwagę, o ile gorsze jest opakowanie na OSX niż FreeBSD: Apple tak naprawdę nie przejmuje się użytecznością swojego podsystemu BSD, ponieważ jest to problem, z którym mogliby pomóc.