To pytanie ma już odpowiedź tutaj:
- Jakie są zalety i wady MacPorts, Fink i Homebrew? 4 odpowiedzi
Zawsze korzystałem z MacPorts do instalowania i zarządzania kompilatorami GCC i innymi programami. Teraz słyszałem o Fink i Homebrew. Wygląda na to, że te dwa narzędzia zyskują popularność w społeczności Mac, ale nie rozumiem różnicy między nimi.
Jaka jest główna różnica między MacPorts, Fink i Homebrew? Czy jest jakaś różnica w jakości lub wydajności?
Odpowiedzi:
Fink istnieje od co najmniej 2001 roku Fink oraz MacPorts są menedżery pakietów, które chcą być „prostopadłe” do systemu, to znaczy, że zainstalować własną wersję
python
,perl
, biblioteki, kompilatory, itp własnych drzew (za / SW Fink, / opt / local dla MacPorts). Powodem tego jest to, że nie mają kontroli nad tym, co Apple robi ze swoim oprogramowaniem, i czasami psuje się, gdy Apple aktualizuje swoje własne rzeczy.Z tego, co rozumiem, Homebrew chce być bardziej „zintegrowany” z systemem, korzysta z bibliotek, które zapewnia Apple, i instaluje swoje rzeczy w
/usr/local/bin
innych standardowych folderach. Wydaje mi się, że to oznacza, że wybór oprogramowania jest bardziej ograniczony w Homebrew, nie wyobrażam sobie, aby można było z nim zainstalować KDE, ale nie próbowałem tego.Jeden punkt dla Fink vs. MacPorts: kilka lat temu projekt Fink dostarczył pakiety binarne; oznacza to, że możesz pobrać i zainstalować pakiety bez ich samodzielnej kompilacji. Jego menedżer pakietów nadal ma tę możliwość, tyle że przez długi czas nie było dostępnych plików binarnych. Tymczasem nie wiem, czy to się zmieniło.
Krótko mówiąc: bez plików binarnych Fink i MacPorts są bardzo podobne. Powinny mieć więcej dostępnych pakietów niż Homebrew, podczas gdy Homebrew powinien zajmować mniej miejsca na dysku z powodów, które podałem powyżej. Jeśli chodzi o jakość: nigdy nie instalowałem Homebrew, a pomiędzy Fink i MacPorts zazwyczaj wolę ten, którego obecnie nie używam.
Więc jeśli jesteś zadowolony z MacPorts, po prostu pozostań z nim.
PS Nigdy nie próbowałem Homebrew, ponieważ korzystam z niektórych wstępnie skompilowanych pakietów. Zazwyczaj instalują się one również w / usr / local / bin i tym podobnych, co po prostu płacze z powodu problemów.
źródło
Powiedziałbym, że główne różnice to:
Opatrzność, wynik i metoda dystrybucji.
Najważniejszym szczegółem będzie sprawdzenie, czy wybrany system zawiera pakiety dla potrzebnego oprogramowania. Liczba paczek to w przybliżeniu: 19 tys. Macportów, 22 tys. Fink, 3 tys. Homebrew, 10 tys. Pkgsrc.
/opt/local
których prawdopodobnie nie zostaną dotknięte inne pakiety instalatora lub aktualizacje systemu.dpkg
aapt-get
główną zaletą jest to, że można niezawodnie znaleźć pakiety binarne .. zakładając, że masz pakiet upstream repozytorium zawierające pliki binarne dla bieżącej wersji systemu operacyjnego. Wyszedł także z bazy użytkowników Darwina, ale prawdopodobnie bardziej popularny wśród tych, którzy pochodzili z Debiana Linux [dla komputerów Mac lub PPC] i szukali trochę bardziej stabilnego wsparcia sprzętowego ... podczas jego trwania. Instaluje pakiety w/sw
celu nie zastąpienia lub nadpisania tego, co mogą zainstalować inni instalatorzy. Również coś o ścieżkach wyszukiwania kompilatora i domyślnymPATH
zawierającym/usr/local/bin
już./usr/local
Myślę, że został on zainicjowany i jest nowszy od innych. Osobiście odkryłem, że korzystałem z tego najczęściej, ponieważ rzadko potrzebuję współzależnych pakietów i nie jestem pewien, jak dobrze Mac Homebrew obsługuje to. Homebrew ma na celu zmusić cię do korzystania z bardziej odpowiednich menedżerów pakietów dla oprogramowania pochodzącego od ściśle powiązanego menedżera, takiego jak cpan, gems i tym podobne./
ale buduje i utrzymuje pakiety w/pkg
. Prawdopodobnie jest wiele pakietów (np. 12k) i około 20% może się nie skompilować, lub najnowsza wersja źródła może nie łatać się z ostatnio utrzymaną łatką. Dlatego właśnie pakiety binarne są moim wyborem z tego rodzaju systemami.Użyłem również perlbrew, który jest rodzajem homebrew
perl
, aplikacji wbudowanych w perl i niektórych zależności. Jest to w większości dobry sposób na utrzymanie wielu wersji Perla i wygodnie neguje potrzebę stosowania innych, bardziej ogólnych systemów pakietów (do swoich celów). Ale oczywiście, że ma również cpan i cpanminus .Można znaleźć podobne menedżerów dla własnego mini-środowiskowych (np vundle dla vim lub gem dla Ruby, KMP dla node.js, pypm lub pip dla Pythona, Go wbudowaną
go install
... etc?)źródło
Fink i MacPorts są bezpośrednimi konkurentami, ponieważ instalują system ortogonalny. Fink stracił znaczną pozycję wobec MacPorts kilka lat temu. Nie jestem do końca pewien, dlaczego, ale MacPorts poradził sobie prawie wszystko lepiej.
Mamy mniej powodów, dla których instalacja ortogonalna jest teraz, gdy Mac OS X ma mniej szalone spodnie. Brew został stworzony w celu lepszej integracji z Mac OS X, dzięki czemu jest lżejszy i mniej ortogonalny, a także dlatego, że Rubyist przepisał wszystko.
W praktyce MacPorts jest nieco bardziej skomplikowany, ale MacPorts prawie zawsze działa, podczas gdy Brew jest prostszy, ale bardziej prawdopodobne jest, że wpadnie na mur z cegły.
Zadaj sobie następujące pytanie:
Wszelkie odpowiedzi twierdzące sugerują, że powinieneś wybrać MacPorts. Brew jest mniejszy, jeśli zainstalujesz stosunkowo niewiele popularnych pakietów, ale Brew nie poradzi sobie również ze złożonością. Zaparzanie zanieczyszczeń,
/usr/local
które możesz chcieć również w przypadku instalacji ręcznych. W rzeczywistości istnieją bardziej szczegółowe argumenty za MacPortami, ale znowu prawdopodobnie nie mają zastosowania, jeśli nie odpowiedziałeś.I odwrotnie, jeśli odpowiedź brzmi „tak”, ale na podstawowej maszynie działa system Linux, a komputer Mac jest jedynie zabawką z minimalnym oprogramowaniem dla systemu Linux, to w rzeczywistości lepiej radzisz sobie z Brew.
źródło
Ale na marginesie, nic związanego z Apple OS X nie zainstaluje się w / usr / local / bin. Używają / usr / lib, / usr / bin za kulisami, a frameworki są pakowane do / Library / Frameworks, podczas gdy rzeczy, które instalujesz sam za pomocą zwykłego Uniksa ./configure, make, make install użyje / usr / local / bin itp. , a narzędzia takie jak MacPorts użyją / opt / i ewentualnie spakują frameworki do twojego osobistego ~ / Library / Frameworks /.
Radzę pozostać z MacPorts, jeśli jesteś do tego przyzwyczajony. Zasadniczo główna różnica polega na tym, że MacPorts używa systemu, który bardziej przypomina prawdziwą implementację drzewa portów Unix / BSD z portami FreeBSD, podczas gdy Fink używa aplikacji przeniesionych z archiwów Linux Debian i używa tego samego systemu zarządzania pakietami, co Linux Debian.
źródło