Jaki jest oficjalny instalator pakietów Unix na Mac OS?

10

Jestem trochę zdezorientowany co do instalacji standardowych pakietów Unix na Mac OS X. Na przykład mam / usr / bin / svn, czyli SVN v.4.4.4, ale FinkCommander mówi, że svn nie jest zainstalowany. To samo dotyczy innych pakietów, takich jak emacs itp.

Czy to po prostu złe ustawienie FinkCommander? Obecnie jest ustawiony na zainstalowanie wszystkiego /sw, czego nawet nie ma w PATH. Więc czy muszę to ustawić, aby instalować pakiety /usri rozpozna zainstalowane oprogramowanie? Nie chcę instalować zduplikowanych pakietów wszystkiego i to dziwne, że FinkCommander wydaje się nie być zsynchronizowany z zainstalowanym oprogramowaniem.

Czy jest jakiś inny instalator, którego powinienem używać? Czy zaleca się korzystanie z portów Mac?

(Używam Mac OS 10.5.8.)

dehmann
źródło
Dobre pytanie i kilka świetnych odpowiedzi. Sprawdź także ten: superuser.com/questions/28529/macports-fink-etc
Jonik
Co do MacPorts: Kompilowanie każdej paczki od zera jest po prostu szalone. Czuję, że zostawiam laptopa na kilka dni i nocy, aby zainstalować R z MacPorts (który najpierw kompiluje gcc43, perl, automake, glib2 i wiele innych ...).
dehmann
Jeśli chcesz preinstalowane pakiety binarne, sprawdź Rudix .
Telemachus

Odpowiedzi:

10

Nie ma oficjalnego menedżera pakietów dla OS X.

Fink , MacPorts i Homebrew zapewniają własne różne funkcje i funkcje, aby wypełnić tę lukę.

Jak zauważyło wielu użytkowników:

  • unikaj używania / usr
  • dopóki nie skonfigurujesz ŚCIEŻKI, pakiety z różnych katalogów nie zostaną znalezione.
Jeremy L.
źródło
Dziękuję za odpowiedź. To dość rozczarowujące. Dlaczego nie mogą zaoferować odpowiedniego menedżera pakietów? :-(
dehmann
5
Ich docelowi odbiorcy nie wiedzieliby, co robić. Reszta z nas sprawia, że ​​to działa :-)
Jeremy L
Wybieram to jako zaakceptowaną odpowiedź, ale dodam, że tak naprawdę można używać wielu menedżerów. Przynajmniej Fink i MacPorts mogą współistnieć, ponieważ instalują się w różnych katalogach.
dehmann
7

Chociaż nie ma oficjalnego menedżera pakietów Unix / FOSS dla Mac OS X, należy zauważyć, że MacPorts został stworzony i nadal jest głównie obsługiwany przez inżynierów Apple Mac OS X / Darwin. Witryna macports.org jest hostowana na serwerach Apple w ramach projektu Apple „MacOSForge.com”. Ponieważ Mac OS X / Darwin jest oparty na * BSD, wielu inżynierów oprogramowania Apple w warstwie uniksowej pochodzi z tradycji * BSD, więc modelowali MacPorts na podstawie modelu „portów” BSD.

Fink był oryginalnym menedżerem pakietów open source dla systemu Mac OS X, ale nie ma ścisłych powiązań organizacyjnych z Apple i postanowił podążać za tradycją apt-get Debiana Linux.

Nie jestem pewien, czy którykolwiek z powyższych szczegółów jest wystarczający, aby polecić jeden nad drugim. Powiedziałbym, że sprowadza się to do tego, który model jesteś już bardziej zaznajomiony. Jeśli jesteś bardziej zaznajomiony z apt-get, idź z Fink. Jeśli bardziej znasz „porty” BSD, skorzystaj z MacPorts.

Jak powiedzieli inni, najlepiej zostawić domyślne narzędzia uniksowe Mac OS X w spokoju. Fink i MacPorts już się tego nauczyli i instalują własne kopie rzeczy we własnych hierarchiach katalogów (/ sw dla Fink, / opt dla MacPorts). Homebrew jeszcze nie w pełni nauczył się tej lekcji, ale zrobi to, gdy tylko jakiś użytkownik użyje Homebrew do zaktualizowania wbudowanej kopii, powiedzmy, Perla lub Pythona, i ma jakiś nieprzewidziany problem ze zgodnością, który psuje wbudowane elementy komputera Mac OS X, na przykład pakiety instalacyjne (pliki pakietu Mac OS X .pkg), które używają skryptów Perla do wykonywania niektórych zadań instalacyjnych.

Spiff
źródło
5
Jak rozumiem, Homebrew instaluje się pod / usr / local /, a zatem nigdy nie zastąpi systemowego Pythona.
Pepijn
4
Niemożliwe byłoby użycie Homebrew do zastąpienia istniejących komponentów. OSX jest domyślnie dostarczany z opcją / usr / local.
Paul Robinson
5

Nie ma oficjalnego menedżera pakietów dla OS X.

Fink prawdopodobnie twierdzi, że nie jest zainstalowany, ponieważ nie jest zainstalowany na ścieżce Fink. Wystąpiły problemy podczas instalowania czegoś z Fink lub MacPorts lub duplikowania kopii o różnych numerach wersji.

Wybierz jeden i trzymaj się go. Jeśli uważasz, że musisz zmienić, najlepiej wyczyść drugi menedżer pakietów i zainstaluj go ponownie z nowego.

Josh K.
źródło
3

Wersja svn, którą widzisz, pochodzi z Mac OS X - nie z Finka ani żadnego innego źródła.

Możesz zidentyfikować różne wersje za pomocą typepolecenia bash . Na przykład używam MacPorts i zainstalowałem nowszą wersję sqlite3:

$ type -a sqlite3
sqlite3 is /opt/local/bin/sqlite3
sqlite3 is /usr/bin/sqlite3

Wersja w / opt / local / bin pochodzi z MacPorts, wersja w / usr / bin pochodzi z Mac OS X.

Zalecam, aby nie instalować plików binarnych Fink lub MacPorts w / usr - zostaw je w spokoju. Pozwól Fink zainstalować w / sw lub MacPorts zainstalować w / opt / local. Dostosuj, PATHaby znaleźć wersje Fink / MacPorts przed wersjami standardowymi

Doug Harris
źródło
Używając podobnych flag, możesz użyćwhich -a sqlite3
Jeremy L