Pertanyaan ini sudah ada jawabannya di sini:
Saya selalu menggunakan MacPorts untuk menginstal dan memelihara kompiler GCC dan program lainnya. Sekarang saya sudah mendengar tentang Fink dan Homebrew. Tampaknya kedua utilitas ini mendapatkan dukungan di komunitas Mac, tapi saya tidak mengerti perbedaan di antara mereka.
Apa perbedaan utama antara MacPorts, Fink, dan Homebrew? Apakah ada perbedaan kualitas atau kinerja?
Jawaban:
Fink telah ada setidaknya sejak 2001. Fink dan MacPorts manajer paket yang ingin menjadi "ortogonal" ke sistem, yaitu, mereka menginstal versi mereka sendiri
python
,perl
, pustaka, kompiler, dll di pohon sendiri (/ sw untuk Fink, / opt / local untuk MacPorts). Alasan untuk ini adalah bahwa mereka tidak memiliki kendali atas apa yang Apple lakukan dengan perangkat lunaknya, dan kadang-kadang merusak ketika Apple memperbarui barang-barang mereka sendiri.Dari apa yang saya mengerti, Homebrew ingin lebih "terintegrasi" dengan sistem, menggunakan perpustakaan yang disediakan Apple, dan menginstal barang-barangnya di
/usr/local/bin
dan folder standar lainnya. Saya kira itu berarti bahwa pilihan perangkat lunak lebih terbatas dengan Homebrew, saya tidak dapat membayangkan bahwa seseorang dapat menginstal KDE dengannya, tetapi saya belum mencobanya.Satu poin untuk Fink vs MacPorts: beberapa tahun yang lalu, proyek Fink menyediakan paket biner; yaitu Anda dapat mengunduh dan menginstal paket tanpa mengompilasinya sendiri. Pengelola paketnya masih memiliki kemampuan itu, hanya saja tidak ada binari yang tersedia untuk waktu yang lama. Saya tidak tahu apakah itu telah berubah sementara itu.
Jadi singkatnya: tanpa hal-hal biner, Fink dan MacPort sangat mirip. Mereka seharusnya memiliki lebih banyak paket yang tersedia daripada Homebrew, sementara Homebrew harus mengambil lebih sedikit ruang disk karena alasan yang saya nyatakan di atas. Mengenai kualitas: Saya belum pernah menginstal Homebrew, dan antara Fink dan MacPorts saya biasanya lebih suka yang saya tidak gunakan saat ini.
Jadi, jika Anda puas dengan MacPorts, tetap ikuti saja.
PS Alasan saya tidak pernah mencoba Homebrew adalah karena saya menggunakan beberapa paket yang sudah dikompilasi. Ini biasanya juga menginstal sendiri ke / usr / local / bin dan sejenisnya, yang hanya menangis karena masalah.
sumber
Saya akan mengatakan perbedaan utama adalah:
Providence, hasil, dan metode distribusi.
Detail paling penting bagi Anda untuk memeriksa apakah sistem yang Anda pilih berisi paket untuk perangkat lunak yang Anda inginkan. Jumlah paket kira-kira: 19k Macports, 22k Fink, 3k Homebrew, 10k pkgsrc.
/opt/local
yang mungkin tidak akan disentuh oleh paket installer lain atau peningkatan sistem.dpkg
danapt-get
manfaat utama adalah bahwa Anda dapat menemukan paket biner dengan andal .. dengan asumsi Anda memiliki paket upstream repositori yang berisi binari untuk versi OS Anda saat ini. Itu juga keluar dari pangkalan pengguna Darwin tetapi mungkin lebih populer dengan mereka yang datang dari Debian Linux [untuk mac, atau PPC] mencari dukungan perangkat keras yang sedikit lebih stabil ... sementara itu berlangsung. Itu menginstal paket ke/sw
alasan tidak menimpa atau ditimpa apa installer lain mungkin menginstal. Juga sesuatu tentang jalur pencarian kompiler dan defaultPATH
yang/usr/local/bin
sudah berisi ./usr/local
Saya pikir itu dimulai dan lebih baru daripada yang lain. Saya pribadi menemukan bahwa saya paling sering menggunakan ini karena saya jarang membutuhkan paket yang saling tergantung, dan saya tidak tahu seberapa baik mac homebrew mendukungnya. Homebrew bertujuan untuk memaksa Anda menggunakan manajer paket yang lebih tepat untuk perangkat lunak yang berasal dari manajer yang sangat erat, seperti cpan, permata, dan sejenisnya./
tetapi membangun dan memelihara paket-paket masuk/pkg
. Mungkin ada banyak paket (seperti 12k) dan sekitar 20% mungkin tidak dibuat, atau, versi terbaru dari sumbernya mungkin tidak ditambal dengan tambalan yang terakhir dipelihara. Itu sebabnya paket biner adalah pilihan saya dengan sistem semacam ini.Saya juga menggunakan perlbrew yang merupakan semacam homebrew untuk
perl
, aplikasi yang dibangun di perl dan beberapa dependensi. Ini sebagian besar cara yang baik untuk mempertahankan beberapa versi perl, dan itu dengan mudah meniadakan perlunya sistem paket yang lebih umum (untuk tujuannya). Tetapi tentu saja itu juga memiliki cpan dan cpanminus .Anda mungkin menemukan manajer serupa untuk lingkungan mini Anda sendiri (seperti vundle untuk vim, atau permata untuk ruby, npm untuk node.js, pypm atau pip untuk python, built-in go
go install
... dll?)sumber
Fink dan MacPorts adalah pesaing langsung karena mereka menginstal sistem ortogonal. Fink kehilangan banyak alasan untuk MacPorts beberapa tahun yang lalu. Saya tidak sepenuhnya yakin mengapa sekarang, tetapi MacPorts menangani hampir semuanya dengan lebih baik.
Kami kurang memiliki alasan untuk pemasangan ortogonal sekarang karena Mac OS X telah mengembangkan celana yang kurang gila. Brew dibuat untuk berintegrasi lebih baik dengan Mac OS X, membuatnya lebih ringan dan lebih sedikit ortogonal, dan juga karena Rubyist menulis ulang semuanya.
Dalam praktiknya, MacPorts sedikit lebih rumit, tetapi MacPorts hampir selalu berfungsi, sementara Brew lebih sederhana tetapi lebih mungkin mengalami dinding bata.
Tanyakan pada diri Anda pertanyaan ini:
Jawaban ya apa pun menyarankan Anda harus memilih MacPorts. Brew lebih murah jika Anda menginstal paket yang relatif sedikit dan umum, tetapi Brew tidak akan menangani kerumitan juga. Brew polusi
/usr/local
yang mungkin Anda inginkan untuk instalasi manual juga. Sebenarnya, ada argumen yang lebih rinci untuk MacPorts tetapi sekali lagi mereka mungkin tidak berlaku jika Anda menjawab tidak.Sebaliknya, jika Anda menjawab ya tetapi mesin utama Anda menjalankan Linux, dan Mac Anda hanya mainan yang menjalankan perangkat lunak Linux minimal, maka sebenarnya Anda mungkin lebih baik dengan Brew.
sumber
Tetapi sebagai catatan tambahan, tidak ada yang terkait dengan Apple OS X yang akan menginstal sendiri ke / usr / local / bin. Mereka menggunakan / usr / lib, / usr / bin di belakang layar dan kerangka kerja dikemas ke / Library / Frameworks sementara barang-barang yang Anda instal sendiri melalui Unix biasa ./configure, make, make install akan menggunakan / usr / local / bin dll , dan utilitas seperti MacPorts akan menggunakan / opt / dan mungkin paket framework untuk pribadi Anda ~ / Library / Frameworks /.
Rekomendasi saya adalah tetap menggunakan MacPorts jika Anda sudah terbiasa. Pada dasarnya perbedaan utama adalah bahwa MacPorts menggunakan sistem yang lebih mirip dengan implementasi pohon port Unix / BSD yang sebenarnya dengan port dari FreeBSD, sementara Fink menggunakan aplikasi yang di-porting dari arsip Linux Debian, dan menggunakan sistem manajer paket yang sama dengan Linux Debian.
sumber