Éppen áttérek az Ubuntu Linux-ról a Mac-re, és minden új, és sok mindent megtanulok.
Linuxon a kiváló apt-get volt a szoftvercsomagok kezeléséhez. Gugliztam egy alternatívát a Mac-en, és rátaláltam a MacPorts, a Fink és a Homebrew témákra.
Ezt a számítógépet elsősorban a Ruby on Rails alkalmazások fejlesztésére fogom használni.
Tehát mi a különbség a őket? Melyek a hátrányai és hátrányai? Melyik a legjobban karbantartott és több csomagja van?
Megjegyzések
- Szerkesztettem a címet, hogy az megfeleljen az Ön valódi kérdésének. A legtöbb Stack Exchange webhelyen a ” kérdést a legjobb ” kérik rosszallással.
- Miért van szükség ezekből nyert ‘ t rubin ‘ s drágakövek elegendőek lennének?
- További információ arról, hogy miért nem léteznek másolatok ‘ t mindig rossz: apple.stackexchange.com/questions/11461/… van még néhány alternatíva ott
- Soha nem használtam magam, de talán a pkgin összehasonlítás is hasznos lehet.
Válasz
Határozottan Homebrew. Finkkel kezdtem, majd átálltam MacPorts-ra (boldogabb), majd Homebrew-ra (sokkal-sokkal boldogabbra). Ez az oka annak, hogy mindegyiket (profi lista, ha akarja) használja:
Fink
- Apt-alapú – érezze magát otthon, ha Debian-alapú környezet
- Bináris csomagok – a csomagok bináris fájlként érhetők el, így nincs hosszú fordítási idő. Gyakorlatilag bár azt tapasztaltam, hogy az előre összeállított bináris fájlok mindig elavultak, és mindenképp össze kellett állítanom a rendszeremhez tartozó tartalmakat.
MacPorts
- A homebrew-tól eltérően nem függ a MacOS könyvtárától, amely a jövőben változhat.
- Telepítsen mindent a / opt / local
- Szép változatok rendszerbe , amellyel testre szabhatja az összeállítást
- Könnyű és intuitív port fájlok, saját hozzáadását is lehetővé teszi
- támogatja az OSX és a Tigerig visszanyúló macók számos verzióját, beleértve a PowerPC verziókat is egyéb válasz
Homebrew
- Az OS X-hez kapcsolódó maximális kihasználtság. A Fink vagy a MacPorts használatához nem szükséges a rubin és a könyvtárak építése / telepítése a semmiből, csak néhány apró Ruby-alapú eszköz telepítéséhez.
- Telepítés a
/usr/local
- Telepítés root hozzáférés nélkül
- Minden telepített csomag tisztán homokozóba kerül a saját pincéjében, így nem fog ave kóbor fájlokat az egész rendszerén, csak szimbolikus linkeket kell tárolnia a binből, az emberből stb. (azaz. csomagleírók)
- rubinban írva, és az összes képlet tömör rubinszkript
- Gyorsabb telepítés az előre lefordított bináris fájlok miatt
pkgin
- Gyorsabb telepítés az előre lefordított bináris fájlok miatt
- Minden a / opt / pkg / fájlba telepítve
- a pkgsrc közösség és a Joyent támogatásával
- A NetBSD-n, a DragonFly BSD-n, a Solarison, a Debianon, a Mac OS X-en, a Minix-en működik
https://pkgsrc.joyent.com/install-on-osx/
megjegyzések
- A hozzászólások nem bővebb megbeszélések; ezt a beszélgetést csevegésbe helyezte . Ha fel kell oldani a zárat, kérjük, emelje fel ezt a problémát a Kérdezzen más metát vagy zászlóval.
Válasz
MacPorts
Ez sokkal függetlenebb a Mac OS X-től, ez azt jelenti, hogy a MacPorts csak figyelmen kívül hagyja a már meglévő rendszerkönyvtárakat és szoftvereket elérhető a Mac OS X rendszerben, és húzza inkább a sajátját , ami lassabb lehet, ha a telepített segédprogramhoz néhány nagy könyvtár és szoftver szükséges.
De ez a fajta választás biztonságosabb, mert a telepített csomagokat kevésbé befolyásolja az Apple rendszerfrissítése / frissítése eljárás.
Homebrew
Ez jobban függ a meglévő Mac OS X telepített csomagoktól, így ez felgyorsítja a csomagok telepítését és minimalizálja a redundáns könyvtárakat.
De a kockázat telepítve van, a csomagok megsérülhetnek n az Apple rendszerfrissítése / frissítése miatt.
Tehát ez a két különböző kompromisszum.
A Homebrew átveszi a / usr / local alapértelmezés szerint, amellyel néhány embernek ez nem tetszik , mert valahogy ütközik az unix-tradícióval, és problémákat okozhat, ha már telepített bármit (MySQL stb.))
Ezen eltéréseken kívül, figyelembe véve a kettő által kínált csomagokat, ezzel a két paranccsal ellenőrizheti, hogy van-e már telepítve a MacPorts / Homebrew, amely megmutatja az általuk jelenleg biztosított csomagokat:
port list | wc -l brew search | wc -l
És megtudhatja, hogy a MacPorts sokkal több csomagot tartalmaz, mint a Homebrew.
(19399 vs 3583, 2016. május 13.)
Megjegyzések
- Megjegyzésként az eltérő csomagszámra: A Homebrew határozottan nem tartalmaz programozási nyelvekhez tartozó csomagokat, amelyek saját csomagolási rendszerrel rendelkeznek (rubygems / pip / cpan…) vagy olyan szoftverek esetében, amelyekhez egy vitathatatlanul megfelelőbb OS X telepítő áll rendelkezésre (MacTeX). A duplikátumok és a régebbi verziók nem szerepelnek az alapértelmezett repóban, hanem alternatív tap repókat tartalmaznak. Hasonlítsa össze ezt a macportokkal, amelyek például tartalmaznak egy IPython portot az összes mellékelt Python verzióhoz. Ez egyfajta más filozófia, amely természetesen növeli a csomagok számát a macportokban.
- Kiváló link! terrychay.com/article/macports-vs-homebrew.shtml Köszönöm!
- @YaOz, Biztosan megváltoztathatja a homebrew szót, hogy használjon valamit más, mint a
/usr/local
? - @Pacerier, úgy gondolom, hogy a
/usr/local/
kivételével bárhol máshol „nem támogatott” vagy „nem kedvelt” .
Válasz
Csak azért, hogy hozzáadjak néhány olyan gondolatot, amelyek legalább 2014 végén igaznak tűnnek. .
A Homebrew, mint pár évvel ezelőtt, mindenképpen előnyben részesíti a mindshare-t. Sok olyan blogot talál, ahol az emberek arról beszélnek, hogy mennyivel boldogabbak a Homebrew-val – általában az egész “MacPorts húzza az egész világot” és “A Homebrew felhasználja azt, ami már van” dolgot.
Azonban az IMO, a MacPorts most más fenevad, mint pár évvel ezelőtt. Amikor először váltottam OS X-re, & a MacPorts-ot használta, az MP filozófiája valóban frusztráló volt mert szinte mindent forrásból építettek. Egy új telepítés különösen fájdalmas / lassú volt. Azonban az elmúlt egy évben úgy tűnik, hogy pusztán a saját benyomásaim alapján az MP-csomagok 90% -a bináris & tehát a telepítés valóban nagyon gyors most. Amiből összegyűjtöttem, a Homebrew is ebbe az irányba mozog a „Palackokkal”, de az a benyomásom van, hogy a legtöbb dolgot, amelyet a HB-n keresztül telepítesz ebben az időpontban, forrásból állítják össze.
Tehát, ha csak kiegyenlítő véleményt kínálunk, úgy tűnik, hogy a MacPorts valóban a „gyorsabb” o pion manapság. Úgy tűnik azonban, hogy a legtöbb képviselő véleménye körülbelül 2011-12 körüli tapasztalatokon alapszik & ezt nem igazán veszi figyelembe. Vegyük ezt egy szem sóval, mivel én nem vagyok rendszeres HB-felhasználó (és elég fájdalmas mindkét oldalt használni).
Úgy gondolom, hogy a HB-nek vannak olyan előnyei, amelyek azt jelentik, hogy valószínűleg “nyer a háború “hosszú távon, bár
- a HB mind Ruby, míg a MacPorts és csomagképletei TCL-ben vannak megírva, ami …. nem éppen egy népszerű script nyelv. Ez azt mondta, hogy rohadtul egyszerű létrehozni saját portfólióját.
- A HB a GitHub körül található &, így sokkal örvendetesebbnek tűnik az új közreműködők számára, míg a MacPorts valahol saját SVN-tárházat üzemeltet Azt hiszem – ami alapvetően mindkét projekt eltérő korát tükrözi.
- Amint említettük, az általános konszenzus az, hogy a MacPortokat a HB & helyettesítette, helyesen vagy tévesen ez több embert vonz maga felé.
Különben a YaOZl & kLy elég jól lefedte a fő különbséget a sudo, a függőségek stb. tekintetében. Én azt találjuk, hogy a MacPorts néha fejfájáshoz vezet, mivel más programok nem várják el, hogy bármi is szerepeljen /opt/local
ben, a dolgokat root jogosultságokkal telepítik stb. & vannak olyan dolgok, amelyeket általában nem a MacPorts használatával lehet telepíteni (pl telepítheti a Rails-et MacPorts-on keresztül, de őrült lenne, ha nem a Ruby normál Gem-menedzsmentjén keresztül telepítené). Ettől eltekintve, bár én “nagy rajongója vagyok a MacPorts filozófiájának, hogy saját kis világát építem & és nem támaszkodom valamilyen előre csomagolt OS X könyvtárra – amikor működik, és többnyire mindenre képes, halottan egyszerű. Amire igazán vágysz egy Package Manager-től. És mint említettem, ebben a pillanatban rohadtul gyorsan beállítható a legtöbb dolog.
Remélem, ezek egy része hasznos volt.
Megjegyzések
- ” Mint említettük, az általános egyetértés az, hogy a MacPorts-ot HB &, helyesen vagy helytelenül, több embert vonz maga felé. ” … ez nagyon felszínes kijelentésnek tűnik …a népszerűség és a minőség biztosítása nem azonos, és semmiképpen nem jelenti azt, hogy a második ” az első helyébe ” lép.
- A MacPorts most a Github-ot használja. Lásd: guide.macports.org/#project.github : ” A MacPorts projekt a Git elosztott verzióvezérlő rendszert használja a teljes projekt kódjának kezeléséhez. Fő tárházaink a GitHubon vannak tárolva. Szinte az összes projektkód és dokumentáció nyilvános tárhelyet tartunk fenn, beleértve a GitHub adattárat a MacPorts rendszerhez, a MacPorts portokhoz és még az útmutatóhoz is, amelyet éppen olvas. ”
Válasz
Valami, amit más (eddig) válaszok nem említenek, az az, hogy a MacPorts kiválóan támogatja a macOS régi verzióit. A Homebrew csak azokat az operációs rendszereket támogatja, amelyeket az Apple jelenleg támogat, ami általában az utolsó három kiadást jelenti. Például 2020 augusztusától csak a Catalina, a Mojave és a High Sierra kompatibilis a Homebrew-val.
Ezzel szemben a MacPorts telepíthető a Tiger-re (!), És a projekt a szoftverek megőrzéséhez speciális javításokat tart fenn. ahol csak lehet. Fenntartanak egy ” örökölt támogatási ” könyvtárat is, amely a szimbólumokat a macOS új verzióiból a régebbiekbe támogatja; Ha ezt a könyvtárat összekapcsolja fordítás közben, akkor mindenféle új szoftver hirtelen működhet a régebbi rendszereken!
Tehát, ha a macOS régi verzióját futtatja, vagy ha úgy gondolja, hogy szükség lehet egy az operációs rendszer lejárta után az Apple lejárati dátumát, ez mindenképpen ok a MacPorts használatára.
Válasz
A Brew teljesen elkészült simán használható, így képtelen vagyok elmondani a hátrányait. A MacPorts néhány hátránya:
- telepítenie kell az Xcode-ot az Apple Developer webhelyéről , ezért rendelkeznie kell Apple fejlesztői fiókkal (amihez most hitelkártyára van szükség), és töltsön le majdnem 3,5 GB tartalmat;
- ha a 873-as (rsync) portot a tűzfal blokkolja, akkor manuálisan konfigurálja a HTTPS protokollt ;
- az a HTTP (S) szerver, amelyről a csomagokat letöltik, (gyakran) rendkívül lassú (tegnap 20 KiB / s alatt volt; pár nagyon megbízható Gigabit tesztelt) kapcsolatok különböző országokban), és meghiúsulhat hibával. A művelet túl lassú. Az utolsó 60 másodpercet kevesebb, mint 1024 bájt / sec adta át , ami arra kényszerít, hogy mindent a semmiből dolgozzon újra.
Számos nagyon népszerű kérdés merül fel az első két ponttal kapcsolatban.
Hozzászólások
- Ez volt az én tapasztalatom az ImageMagick telepítése a 10.6-ra; a főzés nagyon egyszerű volt, de nem ‘ nem tartalmazza a JP2 delegáltat. imagemagick.org/script/binary-releases.php
- a főzéshez és a macportokhoz csak Xcode parancssori eszközökre van szükség, így itt is.
- @Mark I ‘ nem tudom biztosan, mire gondolsz, de a főzés tökéletesen működött nekem Xcode nélkül.
- Te ‘ Szüksége lesz a brew és MacPorts-ra, amely az Xcode parancssori eszközökön keresztül telepíthető. Nem lesz szükséged az Xcode alkalmazásra .
- Elfelejtettem, hogy milyen csúnya szinkronizálni azt a dolgot, amikor tűzfal mögött van … jaj!