Yakın zamanda Ubuntu'dan bir Mac'e geçtim. Mac sudo apt-get
Ubuntu uygun olmadığını hayal kırıklığına uğradım . Homebrew kullanmam gerektiğini duydum ama homebrew veya macports'un ne yaptığını tam olarak bilmiyorum?
Yakın zamanda Ubuntu'dan bir Mac'e geçtim. Mac sudo apt-get
Ubuntu uygun olmadığını hayal kırıklığına uğradım . Homebrew kullanmam gerektiğini duydum ama homebrew veya macports'un ne yaptığını tam olarak bilmiyorum?
Yanıtlar:
MacPorts ilerlemenin yoludur.
@ User475443'ün işaret ettiği gibi, MacPorts'un çok daha fazla paketi var. Demlemek ile yakında kendinizi tuzağa bulabilirsiniz bulacaksınız çünkü ihtiyacınız olan formül mevcut değil.
MacPorts yerel bir uygulamadır: C + TCL. Ruby'ye hiç ihtiyacın yok. Mac OS X'e Ruby yüklemek için MacPorts'a ihtiyacınız olabilir , bu yüzden MacPorts ile devam edin ve mutlu olacaksınız.
MacPorts gerçekten kararlı, 8 yıl içinde hiç bir sorunum olmadı ve tüm Unix ekosistem rölem.
Bir PHP geliştiricisiyseniz, Apache'nin son sürümünü (Mac OS X 2.2 kullanır), PHP'yi ve ihtiyacınız olan tüm uzantıları yükleyebilir, ardından hepsini tek bir komutla yükseltebilirsiniz. Homebrew ile de aynı şeyi yapmayı unut.
MacPorts destek grupları.
foo@macpro:~/ port select --summary
Name Selected Options
==== ======== =======
db none db46 none
gcc none gcc42 llvm-gcc42 mp-gcc48 none
llvm none mp-llvm-3.3 none
mysql mysql56 mysql56 none
php php55 php55 php56 none
postgresql postgresql94 postgresql93 postgresql94 none
python none python24 python25-apple python26-apple python27 python27-apple none
Hem PHP55 hem de PHP56 yüklüyse (birçok farklı uzantıya sahip), sadece bir komutla aralarında geçiş yapabilirsiniz. Tüm göreceli uzantılar grubun bir parçasıdır ve seçilen grupta etkinleştirilir: php55 veya php56. Homebrew'un bu özelliğe sahip olduğundan emin değilim.
Rubistler Ruby'deki her şeyi yeniden yazmayı sever, çünkü rahat oldukları tek şey Ruby'nin kendisidir.
Homebrew ve macport'lar aynı sorunu çözüyor - osx ile birlikte verilmeyen ortak kütüphanelerin ve yardımcı programların yüklenmesi.
Genellikle bunlar geliştirme ile ilgili kütüphanelerdir ve bu araçların en yaygın kullanımı osx üzerinde çalışan geliştiriciler içindir.
İkisinin de yüklü xcode komut satırı araçlarına ( https://developer.apple.com/ adresinden ayrı olarak indirebilirsiniz ) ve bazı belirli paketler için tüm xcode IDE'nin yüklü olması gerekir.
xcode mac app store'dan yüklenebilir, ücretsiz bir indirme ancak 5GB civarında bir süre alır (doğru hatırlıyorsam).
macports, BSD'nin liman yardımcı programının osx versiyonudur (osx BSD'den türetildiği için, bu doğal bir seçimdi). BSD dağıtımlarından herhangi birini bilen herkes için, macportlar kendinizi evinizde hissedecektir.
Homebrew ve macports arasındaki önemli bir fark; ve homebrew'u tercih etmemin sebebi, osx'a "doğal olarak" kurulması gereken şeylerin üzerine yazmamasıdır. Bu, yerel bir paket varsa, homebrew'un üzerine yazmak ve satırda daha fazla soruna neden olmak yerine sizi bilgilendireceği anlamına gelir. Ayrıca kitaplıkları kullanıcı alanına yükler (bu nedenle, şeyleri yüklemek için "sudo" kullanmanıza gerek yoktur). Bu, kütüphanelerden de kurtulmanıza yardımcı olur, çünkü her şey sizin için erişilebilir bir yoldadır.
homebrew ayrıca daha aktif bir kullanıcı topluluğuna sahiptir ve paketleri (formüller olarak adlandırılır) oldukça sık güncellenir.
macports, yerel OSX paketlerinin üzerine yazmaz - kendi sürümünü sağlar - Bu, ev yapımı demlemek yerine macport'u tercih etmemin ana nedenidir, kullandığınız şeyden ve Apple'ın bağlantı noktalarındaki farklı zamanlarda değiştiğinden emin olmanız gerekir ve bazı projelerde yılların gerisinde
Macportların yerel OS X paketlerinin üzerine yazıldığını gösteren bir referans verebilir misiniz? Anlayabildiğim kadarıyla, tüm macports kurulumu
/opt/local
Belki de açıklığa kavuşturmalıyım - cevabımda hiçbir yerde macports'un OSX yerel paketlerinin üzerine yazdığını söylemedim. Her ikisi de öğeleri ayrı ayrı kurar.
Homebrew, daha iyi uyumluluk için işleri "yerel olarak" (kitaplık / aracın tercih edilen yükleyicisini kullanarak) kurmanız gerektiğinde sizi uyaracaktır. Demek istediğim bu. Ayrıca OS X'te bulunan yerel kitaplıkların çoğunu kullanacaktır. Wiki'den :
Homebrew / homebrew'daki çiftleri gerçekten sevmiyoruz
Ancak, musluklar dupes gibi!
OS X ile birlikte gelen veya RubyGems, CPAN veya PyPi tarafından sağlanan bir kitaplık kopyalanmamalıdır. Bunun için güzel sebepler var:
- Yinelenen kütüphaneler düzenli olarak yapıları bozar
- Küçük hatalar, yinelenen kütüphanelerle ve daha az ölçüde yinelenen araçlarla ortaya çıkar
- Formülünüzü OS X ile birlikte gelenlerle çalışmak için daha çok denemenizi istiyoruz
Sen edebilirsiniz isteğe homebrew ile araçlardan macosx verilen sürümlerin üzerine.
/opt/local
Şu anda Macports, olgunluğu nedeniyle Homebrew formüllerinden (~ 3.1K) daha fazla pakete (~ 18.6 K) sahiptir. Homebrew yavaş yavaş yetişiyor.
Macport paketleri tek bir kişi tarafından korunma eğilimindedir.
Macports, paketlerin birden çok sürümünü saklayabilir ve bunları test etmek için etkinleştirebilir veya devre dışı bırakabilirsiniz. Bazen bu liste bozulabilir ve çok zor olmasa da, işleri düzenli olarak geri almak için manuel olarak düzenlemeniz gerekir.
Her iki paket yöneticisi de düzenli olarak güncellenmesini isteyecektir. Bu biraz zaman alabilir.
Not: Sisteminizde her iki paket yöneticisine de sahip olabilirsiniz! Biri ya da diğeri değil. Brew şikayet edebilir, ancak Macports bunu yapmaz.
Ayrıca, python veya ruby paketleriyle uğraşıyorsanız, mümkün olan her yerde sanal bir ortam kullanın.
Varsayılan olarak, Homebrew paketleri / usr / local aygıtınıza yükler. Macport komutlarının yüklenmesi ve yükseltilmesi için sudo gerekir (Ubuntu'daki apt-get'e benzer).
Daha fazla ayrıntı için:
Bu site Hombrew kullanmanızı önerir: http://deephill.com/macports-vs-homebrew/
oysa bu site Macports kullanmanın avantajlarını listeler: http://arstechnica.com/civis/viewtopic.php?f=19&t=1207907
Ayrıca son zamanlarda Ubuntu'dan geçtim ve homebrew'u kullanmaktan keyif alıyorum (basit ve kullanımı kolay!), Ancak sudo kullanmaya bağlı hissediyorsanız, Macports gitmek için daha iyi bir yol olabilir!
/usr/local
Homebrew'a gitmedi. Apple, /usr/local
"temel işletim sistemine dahil olmayan yürütülebilir dosyalar, kütüphaneler, vb." İçin ayrıldı . Bu, Homebrew kullanılmadan önce kurulan araçların /usr/local
onsuz değiştirilemeyecek şekilde yaratılmış olabileceği anlamına gelir sudo
. Bunu wiki'de tartışmıyorlar.
/usr/local
root izinleri olmadan kullanabileceğine inanmıyorum . Yeni /usr
bir OS X kurulumunda varsayılan izinler , başkalarına yazma izni olmayan kök sahiplerdir. Hatta oluşturmak için /usr/local
Homebrew'un root erişimine ihtiyacı olacaktır. (Hiçbir şeyi savunmaya çalışmıyorum)
homebrew
olmadan şeyler yükleyebilirsiniz sudo
kendini kurarken bunun nedeni kullanılan sudo
o şey içini yapmak mümkün olacak böylece dizin zayıf, izni yapmaya /usr/local
şifresini tetiklemeden. "Parola olmadan yükle" bölümünün yanlış olduğu anlamına mı geliyor? Ben öyle düşünmüyorum! O hâlâ geçerliliğini homebrew
olacaktır şifre olmadan malzeme almak mümkün.