Apa pro dan kontra untuk MacPorts, Fink dan Homebrew?


154

Saya baru saja bermigrasi dari Ubuntu Linux ke Mac, dan semuanya baru dan saya belajar banyak hal.

Di Linux saya memiliki apt-get yang sangat baik untuk mengelola paket perangkat lunak. Saya mencari-cari alternatif di Mac dan menemukan tentang MacPorts, Fink, dan Homebrew.

Saya akan menggunakan komputer ini terutama untuk mengembangkan aplikasi Ruby on Rails.

Jadi, apa perbedaan di antara mereka? Apa kelebihan dan kekurangannya? Yang mana yang paling baik dirawat dan memiliki lebih banyak paket?


5
Saya mengedit judul Anda agar cocok dengan pertanyaan Anda yang sebenarnya. Pada sebagian besar situs Stack Exchange, pertanyaan yang menanyakan "yang terbaik" tidak disukai.
Loïc Wolff

1
Mengapa Anda membutuhkan ini tidak akan cukup?
user151019

untuk lebih lanjut tentang mengapa duplikat tidak selalu buruk: apple.stackexchange.com/questions/11461/... juga ada beberapa alternatif lain di sana
cregox

Tidak pernah menggunakannya sendiri, tetapi mungkin perbandingan dengan pkgin juga akan bermanfaat.
Dennis

Jawaban:


118

Homebrew yang pasti. Saya mulai dengan Fink, lalu beralih ke MacPorts (lebih bahagia), lalu Homebrew (jauh, jauh lebih bahagia). Ini adalah alasan saya untuk menggunakan masing-masing (daftar pro jika Anda mau):

Pengadu

  • Berbasis Apt - merasa seperti di rumah jika Anda berasal dari lingkungan berbasis Debian
  • Paket biner - paket tersedia sebagai binari sehingga tidak perlu waktu kompilasi yang lama. Secara praktis, meskipun saya telah menemukan bahwa binari yang dikompilasi sebelumnya selalu usang dan saya harus mengkompilasi barang untuk sistem saya.
  • Pilihan paket yang layak

MacPorts

  • Pilihan paket / port terbesar
  • Umumnya sangat up to date
  • Sistem varian bagus yang memungkinkan Anda menyesuaikan bangunan
  • File port mudah dan intuitif

Homebrew

  • Sangat terkini
  • Memanfaatkan maksimal apa yang datang dengan OS X. Tidak seperti Fink atau MacPorts, itu tidak mengharuskan Anda untuk membangun / menginstal ruby ​​dan perpustakaan dari awal hanya untuk menginstal beberapa alat kecil berbasis Ruby.
  • Menginstal ke dalam /usr/localtidak perlu Anda modifikasi di PATHmana saja
  • Semuanya dimiliki oleh pengguna, jadi tidak ada paket yang perlu berpotensi mengakses root untuk menginstal
  • Setiap paket yang terinstal dengan bersih dimasukkan ke dalam ruang bawah tanahnya sendiri sehingga Anda tidak memiliki file yang tersesat di seluruh sistem Anda, hanya symlink dari bin, man, dll.
  • Sangat mudah untuk membuat file formula Anda sendiri (mis. Deskriptor paket)
  • Karena Anda berasal dari latar belakang ruby, nilai tambah lainnya adalah semuanya ditulis dalam ruby ​​dan semua rumus adalah skrip ruby ​​sederhana

pkgin

  • Sangat terkini
  • Pemasangan lebih cepat karena binari Pra-kompilasi
  • Semuanya terpasang di / opt / pkg /
  • didukung oleh komunitas pkgsrc dan Joyent
  • Diketahui bekerja pada NetBSD, DragonFly BSD, Solaris, Debian, Mac OS X, Minix

https://pkgsrc.joyent.com/install-on-osx/

http://pkgin.net/


33
Perhatikan bahwa untuk buatan sendiri Anda dapat berpendapat bahwa "Menginstal ke / usr / lokal" dan "meningkatkan apa yang menyertai OS X" adalah masalah - mereka adalah dua alasan utama saya menggunakan sistem pengemasan lain
user151019

5
Mengingat bahwa / usr / local / bin tidak ada di jalur Mac OS X default, Anda tentu harus memodifikasi PATH Anda — Anda hanya perlu melakukannya sekali, karena brew menempatkan di satu tempat tautan ke semua yang baru sampah menginstal (kecuali "tong saja", tapi itu berisik di sini).
Terry N

5
@ jedd.ahyoung Saya lebih suka macports yang memasukkan / opt / local (fink puts in / sw)
user151019

5
Sayangnya, homebrew tampaknya lebih & lebih menolak kasus penggunaan tertentu & API karena pengelola menyatakan pengabaian terang-terangan untuk pengguna. Macports terlihat seperti alternatif yang lebih baik karena tren ini tampaknya merasuki homebrew dengan cara yang meresahkan. Homebrew, pada suatu waktu, adalah tentang membantu pengguna, tetapi perlahan-lahan menjauh dari itu.
GDP2

5
Saya harus setuju dengan @ GDP2. Saya adalah pengguna Mac baru dari linux. Pengembang dalam minuman memiliki sikap yang sangat buruk. Bisakah Anda percaya hanya ada 13 masalah di brith's github ketika saya memposting komentar ini? Mereka tidak ingin mendengarkan pengguna. Mereka tidak ingin ada masalah. Mereka mengabaikan semua masalah yang Anda buka dan segera tutup. Saya tidak pernah melihat sikap seperti itu di salah satu proyek github. Sebagai pengguna baru, saya telah menggunakan minuman selama beberapa bulan dan hari ini saya berpikir untuk beralih ke yang lain dan menemukan pertanyaan ini. Pengalaman menggunakan brew adalah yang terburuk yang saya miliki dalam hidup saya sejauh ini
sgon00

57

MacPorts

Ini lebih independen dari Mac OS X, ini berarti MacPorts hanya akan mengabaikan banyak pustaka sistem dan perangkat lunak yang sudah tersedia di Mac OS X dan menariknya sendiri , yang bisa lebih lambat ketika utilitas yang Anda instal memerlukan sejumlah besar perpustakaan dan perangkat lunak.

Tetapi pilihan semacam ini lebih aman karena paket yang Anda instal kurang dipengaruhi oleh prosedur pembaruan / peningkatan sistem Apple.


Homebrew

Ini lebih tergantung pada paket yang diinstal Mac OS X yang ada, jadi ini akan mempercepat instalasi paket dan meminimalkan pustaka yang berlebihan.

Tetapi risikonya paket yang diinstal mungkin rusak karena pembaruan / peningkatan sistem Apple.

Jadi, ini adalah dua jenis tradeoff yang berbeda.

Juga, Homebrew mengambil alih / usr / local secara default, yang beberapa orang tidak suka ini karena itu bertentangan dengan tradisi unix dan mungkin menyebabkan masalah jika Anda sudah menginstal apa pun di sana (MySQL, dll.)


Terlepas dari perbedaan-perbedaan ini, dengan mempertimbangkan paket-paket yang dapat ditawarkan oleh keduanya, Anda dapat memeriksa dengan kedua perintah ini jika Anda sudah menginstal MacPorts / Homebrew, yang menunjukkan kepada Anda paket-paket yang mereka sediakan saat ini:

port list | wc -l
brew search | wc -l

Dan Anda akan mengetahui bahwa MacPorts memiliki lebih banyak paket daripada Homebrew.

(19399 vs 3583 pada 13 Mei 2016)


17
Sebagai komentar tentang perbedaan jumlah paket: Homebrew jelas tidak termasuk paket untuk bahasa pemrograman yang memiliki sistem pengemasan sendiri (rubygem / pip / cpan ...) atau untuk perangkat lunak yang tersedia untuk penginstal OS X yang lebih sesuai (MacTeX) . Juga, duplikat dan versi yang lebih lama tidak ada dalam repo default tetapi termasuk dalam repo tap alternatif . Bandingkan ini dengan macports, yang, misalnya berisi port IPython untuk semua versi Python yang disertakan. Ini adalah semacam filosofi yang berbeda yang secara alami meningkatkan jumlah paket di macports.
Debilski


@ YaZ, Tentunya Anda bisa mengganti homebrew untuk menggunakan sesuatu yang lain selain /usr/local?
Pacerier

41

Hanya untuk menambahkan beberapa pemikiran saya sendiri yang tampaknya benar-benar sekitar tahun 2014 setidaknya.

Homebrew, pada beberapa tahun yang lalu, pasti lebih unggul dalam hal mindshare. Anda akan menemukan banyak blog dengan orang-orang berbicara tentang seberapa bahagia mereka dengan Homebrew - biasanya karena keseluruhan "MacPort menarik di seluruh dunia" vs "Homebrew memanfaatkan apa yang sudah Anda miliki".

Namun, IMO, MacPorts adalah binatang yang berbeda sekarang daripada beberapa tahun yang lalu. Ketika saya pertama kali beralih ke OS X & menggunakan MacPorts, filosofi MP memang membuat frustasi karena hampir semuanya dibangun dari sumber. Instalasi baru sangat menyakitkan / lambat. Namun lebih dari setahun terakhir, hanya berdasarkan pada kesan saya sendiri, sepertinya 90% dari paket MP adalah binari & jadi instalasi sebenarnya sangat cepat sekarang. Dari apa yang saya kumpulkan, Homebrew juga bergerak ke arah ini dengan "Botol" tetapi saya mendapat kesan bahwa sebagian besar hal yang Anda instal melalui HB pada saat ini akan dikompilasi dari sumber.

Jadi, jika hanya untuk menawarkan pendapat yang berlawanan, MacPorts tampaknya benar-benar menjadi pilihan "lebih cepat" hari ini. Namun sebagian besar pendapat orang tentang MP tampaknya didasarkan pada pengalaman dari sekitar 2011-12 atau lebih & tidak benar-benar mempertimbangkan ini. Ambil ini dengan sebutir garam karena saya bukan pengguna HB biasa (dan agak menyakitkan untuk menggunakan kedua sisi berdampingan).

Saya pikir HB memiliki kelebihan yang berarti mungkin akan "memenangkan perang" dalam jangka panjang

  • HB semua Ruby sedangkan MacPorts, dan formula paketnya, ditulis dalam TCL yang .... bukan bahasa skrip populer. Yang mengatakan itu sangat sederhana untuk membuat portfile Anda sendiri.
  • HB berbasis di sekitar GitHub & dengan demikian tampaknya jauh lebih ramah kepada kontributor baru sedangkan MacPorts meng-host repositori SVN-nya sendiri di suatu tempat yang saya pikir - yang pada dasarnya mencerminkan usia yang berbeda dari kedua proyek yang saya kira.
  • Seperti disebutkan, konsensus umum adalah bahwa MacPorts telah digantikan oleh HB &, benar atau salah, yang menarik lebih banyak orang ke sana.

Kalau tidak, YaOZl & kLy membahas perbedaan utama dalam hal sudo, dependensi dll dengan cukup baik. Secara pribadi saya menemukan bahwa kadang-kadang MacPorts menyebabkan beberapa sakit kepala dalam hal program lain yang tidak mengharapkan apa pun /opt/local, hal-hal yang diinstal dengan izin root dll & ada beberapa hal yang umumnya tidak diinstal dengan MacPorts (misalnya Anda dapat menginstal Rails melalui MacPorts tetapi Anda akan gila untuk tidak menginstalnya melalui manajemen Permata normal Ruby). Selain itu, meskipun saya penggemar filosofi MacPorts dalam membangun dunia kecilnya sendiri & tidak bergantung pada beberapa perpustakaan OS X yang telah dipaket - ketika ia bekerja, dan sebagian besar melakukannya, semuanya mati sederhana. Yang benar-benar Anda inginkan dari seorang Pengelola Paket. Dan seperti yang saya sebutkan, pada saat ini cukup cepat untuk mengatur banyak hal.

Semoga ada yang bermanfaat.


"Seperti yang disebutkan, konsensus umum adalah bahwa MacPorts telah digantikan oleh HB &, benar atau salah, yang menarik lebih banyak orang ke sana." ... ini terasa seperti pernyataan yang sangat dangkal ... menjadi populer vs memberikan kualitas tidak sama dan sama sekali tidak menyiratkan yang kedua "digantikan" oleh yang pertama.
Dmitri Zaitsev

3

Brew benar-benar mulus untuk saya gunakan, jadi saya tidak dapat memberi tahu tentang kekurangannya. Beberapa kelemahan MacPorts:

Ada beberapa pertanyaan yang sangat populer tentang dua poin pertama.


Ini adalah pengalaman saya menginstal ImageMagick pada 10.6; minuman itu sangat mudah, tetapi tidak termasuk delegasi JP2. imagemagick.org/script/binary-releases.php
Nemo

2
bir dan macports hanya memerlukan alat baris perintah Xcode jadi sama di sini.
user151019

@ Mark Saya tidak yakin apa yang Anda maksud, tetapi minuman bekerja dengan sempurna untuk saya tanpa Xcode.
Nemo

2
Anda akan memerlukan komplier untuk pembuatan bir dan MacPorts, yang dapat diinstal melalui Alat Baris Perintah Xcode. Anda tidak memerlukan aplikasi Xcode .
nohillside

1
Saya lupa betapa jeleknya untuk menyinkronkan hal itu ketika berada di balik firewall ... ya!
rogerdpack
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.