MacPorts, Fink ve Homebrew için artıları ve eksileri nelerdir?


154

Sadece Ubuntu Linux'tan Mac'e geçiş yapıyorum ve her şey yeni ve birçok şeyi yeniden öğreniyorum.

Linux'ta yazılım paketlerini yönetmek için mükemmel bir çözüm buldum. Mac'te bir alternatif buldum ve MacPorts, Fink ve Homebrew hakkında buldum.

Bu bilgisayarı öncelikle Ruby on Rails uygulamalarını geliştirmek için kullanacağım.

Peki, aralarındaki farklar nelerdir? Hangileri ve dezavantajları nelerdir? Hangisi en iyi korunur ve daha fazla pakete sahiptir?


5
Başlığınızı gerçek sorunuzla eşleşecek şekilde düzenledim. Çoğu Stack Exchange sitesinde "en iyisini" isteyen soru üzerine kaşlarını çattı.
Loïc Wolff

1
Neden bunlardan birine ihtiyacın var ki Ruby'nin mücevherleri yeterli olmayacak?
user151019 17

yinelenenlerin neden her zaman kötü olmadığına dair daha fazla bilgi için: apple.stackexchange.com/questions/11461/… ayrıca birkaç alternatif var daha var
cregox

Asla kendim kullanmadım, ama belki de pkgin ile bir karşılaştırma yapmak da faydalı olabilir.
Dennis,

Yanıtlar:


118

Kesinlikle Homebrew. Fink ile başladım, sonra MacPorts'a (daha mutlu), ardından Homebrew'e (daha çok, daha mutlu) geçtim. Her birini kullanma nedenlerim (eğer yapacaksan bir profesyonel listesi):

ispiyoncu

  • Apt tabanlı - Debian tabanlı bir ortamdan geliyorsanız kendinizi evinizde hissedin
  • İkili paketler - paketler ikili olarak mevcuttur, bu nedenle uzun derleme süreleri yoktur. Pratik olarak, önceden derlenmiş ikililerin her zaman eski olduğunu ve her zaman sistemim için bir şeyler derlemem gerektiğini fark ettim.
  • İyi paket seçimi

MacPorts

  • En büyük paket / liman seçimi
  • Genellikle çok güncel
  • Yapıyı kişiselleştirmenize izin veren hoş çeşitler sistemi
  • Kolay ve sezgisel port dosyaları

ev yapımı içki

  • Çok güncel
  • OS X ile gelenlerden en üst düzeyde yararlanma. Fink veya MacPorts'un aksine, Ruby'ye sadece küçük bir Ruby tabanlı araç yüklemek için yakut ve kütüphaneler kurgulamanız / kurmanız gerekmiyor.
  • /usr/localBuraya yükler, PATHherhangi bir yerde değişiklik yapmanızı gerektirmez
  • Her şey kullanıcıya aittir, bu nedenle hiçbir paketin yüklenmesi için potansiyel olarak riskli kök erişimi gerekmez
  • Yüklenen her paket kendi mahzenine temiz bir şekilde yerleştirilmiştir, böylece sisteminizin her yerinde başıboş dosyalarınız olmaz, sadece çöp kutusu, adam, vb.
  • Kendi formül dosyalarınızı (ör. Paket tanımlayıcılarını) oluşturmak çok kolay
  • Yakut bir arka plan olduğunuzdan, başka bir artı her şey yakutla yazılmış ve tüm formüller basit yakut komut dosyalarıdır

pkgin

  • Çok güncel
  • Önceden derlenmiş ikili dosyalar nedeniyle daha hızlı yüklenir
  • / Opt / pkg / 'da kurulu olan her şey
  • pkgsrc topluluğu ve Joyent destekli
  • NetBSD, DragonFly BSD, Solaris, Debian, Mac OS X, Minix ile çalıştığı biliniyor

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

http://pkgin.net/


33
Evde demlemek için "/ usr / local içine kurulum" ve "OS X ile gelenlerden yararlanmanın" sorun olduğunu - başka bir paketleme sistemini kullanmamın iki ana nedeni olduğunu
151019

5
/ Usr / local / bin öğesinin varsayılan Mac OS X yolunda olmadığı göz önüne alındığında, PATH'nizi kesinlikle değiştirmeniz gerekir - bununla birlikte sadece bir kez yapmanız gerekir, çünkü demlemek o kadar yeni bir yere bağlanır. yüklediği kutuları ("sadece fıçı" hariç), ancak buradaki gürültü.
Terry N

5
@ jedd.ahyoung Ben / opt / yerel (fink / swur koyar) koyar macports tercih ediyorum
user151019 10:15

5
Maalesef, homebrew, belirli kullanım durumlarını ve API'leri, bakıcıların kullanıcılar için bariz bir şekilde gözardı etmediklerini ifade etmekte daha fazla reddediyor gibi görünüyor . Macports daha iyi bir alternatif gibi görünüyor, çünkü bu eğilim Homebrew’i rahatsız edici bir şekilde kullanıyor gibi görünüyor. Homebrew, bir zamanlar tamamen kullanıcıya yardım etmekle ilgiliydi, ama yavaşça ondan uzaklaştı.
GDP2

5
@ GDP2 ile aynı fikirdeyim. Linux'dan yeni bir Mac kullanıcısıyım. Demlemek geliştiriciler çok kötü bir tavır var. Bu yorumu gönderdiğimde Brewery Github'da sadece 13 sorun olduğuna inanabiliyor musunuz? Kullanıcıları dinlemek istemiyorlar. Herhangi bir sorun istemiyorlar. Açtığınız ve derhal kapattığınız sorunları görmezden gelirler. Hiçbir github projesinde böyle bir tutum görmedim. Yeni bir kullanıcı olarak demlemek için birkaç ay kullandım ve bugün başka birine geçmeyi düşünüyorum ve bu soruyu buldum.
Demlemek

57

MacPorts

Bu, Mac OS X'in daha bağımsızdır, bu MacPorts sadece Mac OS X zaten mevcut sistem kütüphaneler ve yazılımların birçoğu göz ardı edip anlamına gelir yerine kendi birini çekin yükleyip yarar büyük bir kısmı set gerektirdiğinde yavaş olabilir, kütüphaneler ve yazılımlar.

Ancak, bu tür bir seçim daha güvenlidir, çünkü kurduğunuz paketler Apple'ın sistem güncelleme / yükseltme işleminden daha az etkilenir.


ev yapımı içki

Mevcut Mac OS X yüklü paketlere daha fazla bağımlıdır, bu nedenle paketlerin yüklenmesini hızlandıracak ve gereksiz kitaplıkları en aza indirecektir.

Ancak , Apple'ın sistem güncellemesi / yükseltmesi nedeniyle risk yüklü paketler bozulabilir.

Yani, bunlar iki farklı tradeoff.

Ayrıca, Homebrew / usr / local komutunu devraldı , bazı insanlar bundan hoşlanmıyor çünkü bir şekilde unix geleneğiyle çakışıyor ve zaten bir şey yüklediyseniz sorunlara neden olabilir (MySQL, vb.)


Bu farklılıkların dışında, bu ikisinin sunabileceği paketleri göz önünde bulundurarak, şu anda sağladıkları paketleri gösteren MacPorts / Homebrew kurulu olup olmadığını kontrol etmek için bu iki komutu kontrol edebilirsiniz:

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

MacPorts'un Homebrew'den daha çok paketi olduğunu göreceksiniz.

(19399 - 3583, 13 Mayıs 2016)


17
Farklı paket sayısının bir açıklaması olarak: Homebrew, kendi paketleme sistemine sahip olan programlama dilleri (rubygems / pip / cpan…) veya tartışmalı olarak daha uygun bir OS X kurucusunun mevcut olduğu yazılımlar (MacTeX) için kesinlikle paketleri içermez. . Ayrıca, kopyalar ve daha eski sürümler varsayılan depoda değildir, ancak alternatif kademe havuzlarında bulunur. Bunu, örneğin tüm Python sürümleri için bir IPython portu içeren macport'larla karşılaştırın. Macportlardaki paket sayısını doğal olarak arttıran türden bir felsefedir.
Debilski

2
Mükemmel bağlantı! terrychay.com/article/macports-vs-homebrew.shtml Teşekkürler!
Jeff Burdges,

@YaOz, Kesinlikle başka bir şeyi kullanmak için homebrew değiştirebilirsiniz /usr/local?
Pacerier

41

En azından 2014 yılının sonlarına doğru gerçek gibi görünen bazı düşüncelerimi eklemek istiyorum.

Homebrew, birkaç yıl önce olduğu gibi, kesinlikle mindshare açısından üstünlük sağlamıştır. Homebrew ile ne kadar mutlu olduklarından bahseden insanlarla konuşan bir sürü blog bulacaksınız - genellikle "MacPorts dünyayı çeker" ya da "Homebrew zaten sahip olduklarınızı kullanır" şeyinden dolayı.

Ancak, IMO, MacPorts şimdi birkaç yıl önce olduğundan daha farklı bir canavar. OS X’e geçtiğimde ve MacPorts’u kullandığımda MP felsefesi gerçekten sinir bozucuydu çünkü neredeyse her şey kaynaktan yapıldı. Yeni bir kurulum özellikle ağrılı / yavaş oldu. Ancak geçen yıl boyunca, tamamen kendi izlenimlerime dayanarak, MP paketlerinin% 90'ı ikili dosyalar gibi görünüyor ve bu yüzden kurulum şu an gerçekten hızlı. Topladığımdan itibaren Homebrew "Şişeler" ile de bu yönde hareket ediyor, ancak bu noktada HB ile kurduğunuz çoğu şeyin kaynaktan derleneceği izlenimini edindim.

Öyleyse, yalnızca telafi edici bir fikir sunmak için MacPorts bugünlerde "daha hızlı" bir seçenek olarak gözüküyor. Bununla birlikte, çoğu milletvekili fikri 2011-12 ya da öylesine bir deneyime dayanıyor gibi görünmektedir ve bunu gerçekten dikkate almamaktadır. Düzenli bir HB kullanıcısı olmadığım halde bunu bir tuz tuzu ile alın (ve her iki yan yana kullanmak oldukça acı verici).

HB'nin uzun vadede muhtemelen "savaşı kazanacağı" anlamına gelen avantajları olduğunu düşünüyorum.

  • HB hepsi Ruby'dir, MacPorts ve paket formülleri ise tam olarak popüler bir betik dili olmayan TCL dilinde yazılmıştır. Kendi port dosyasını yaratmanın oldukça basit olduğunu söyledi.
  • HB, GitHub'a dayanmaktadır ve bu nedenle MacPorts, sanırım her yerde farklı projelerin farklı yaşlarını yansıtan, düşündüğüm bir yerde kendi SVN deposuna ev sahipliği yaparken, yeni katılımcılara çok daha sıcak geliyor.
  • Belirtildiği gibi, genel fikir birliği MacPorts'un HB tarafından değiştirildiğinin ve haklı ya da yanlış olarak buna daha fazla insan çekmesinin gerektiği şeklindedir.

Aksi takdirde YaOZl & kLy sudo, bağımlılık vb. Temel farkları oldukça iyi bir şekilde ele aldı. Şahsen, MacPorts'un bazen herhangi bir şey olmasını beklemeyen programlar /opt/local, kök izinleri yüklü şeyler vb. Gibi bazı baş ağrısına yol açtığını ve genel olarak MacPorts yüklü olmayan bazı şeyler olduğunu düşünüyorum (örn. MacPorts, ancak Ruby'nin normal Gem yönetimi aracılığıyla kurmamak için çıldırırsınız). Bundan başka, kendi küçük dünyasını inşa etme ve önceden paketlenmiş OS X kütüphanesine güvenmemeye çalışan MacPorts felsefesinin büyük bir hayranı olmama rağmen - işe yaradığında ve çoğunlukla yaptığı zaman, her şey çok basit. Bu gerçekten bir Paket Yöneticisi'nden istediğin şey. Ve bahsettiğim gibi, bu noktada, çoğu şeyi ayarlamak oldukça zor.

Umarım bazıları yararlı olmuştur.


“Genel bir fikir birliğine göre, MacPorts'un HB tarafından değiştirildiği ve doğru ya da yanlış, bu konuda daha fazla insan çeken bir şey olduğu” dedi. ... bu çok yüzeysel bir ifade gibi hissediyor ... popüler olmakla kaliteyi sağlamak aynı değil ve hiçbir şekilde ikincisinin ilk önce "yerini aldığını" ima edemez.
Dmitri Zaitsev

3

Brew benim kullanmam için tamamen yumuşaktı, bu yüzden onun eksilerini anlatamam. MacPorts'un bazı dezavantajları:

İlk iki nokta hakkında çok popüler sorular var.


Bu, ImageMagick’i 10.6’ya yükleme deneyimimdi; demlemek çok kolaydı, ancak JP2 temsilcisini içermiyordu. imagemagick.org/script/binary-releases.php
Nemo

2
Demlemek ve macportlar sadece burada Xcode komut satırı araçlarını gerektirir.
user151019, 28:15

@Mark Ne demek istediğinden emin değilim, ama brew Xcode olmadan benim için mükemmel çalıştı.
Nemo

2
Xcode Komut Satırı Araçları aracılığıyla kurulabilecek demleme ve MacPorts için bir karşılaştırıcıya ihtiyacınız olacak. Xcode uygulamasına ihtiyacınız olmayacak .
nohillside

1
Güvenlik duvarı ardında o şeyi senkronize etmenin ne kadar çirkin olduğunu unuttum ... yikes!
rogerdpack
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.