MacPorts vs. Fink vs. Homebrew [ซ้ำกัน]


39

คำถามนี้มีคำตอบอยู่ที่นี่แล้ว:

ฉันมักจะใช้ MacPorts เพื่อติดตั้งและบำรุงรักษาคอมไพเลอร์ GCC และโปรแกรมอื่น ๆ ของฉัน ตอนนี้ฉันได้ยินเกี่ยวกับตำรวจและ Homebrew ดูเหมือนว่าอรรถประโยชน์ทั้งสองนี้ได้รับความนิยมในชุมชน Mac แต่ฉันไม่เข้าใจความแตกต่างระหว่างพวกเขา

อะไรคือความแตกต่างที่สำคัญระหว่าง MacPort, Fink และ Homebrew คุณภาพหรือประสิทธิภาพแตกต่างกันหรือไม่?


3
นอกจากนี้ยังมีRudix
lhf

4
ไม่คำถามนี้เก่าที่อยู่ความต้องการของคุณ
bmike

คำตอบ:


30

ตำรวจได้รับรอบอย่างน้อยตั้งแต่ปี 2001 ตำรวจและ MacPorts เป็นผู้จัดการแพคเกจที่ต้องการที่จะเป็น "ฉาก" เพื่อระบบนั่นคือพวกเขาติดตั้งรุ่นของตัวเองpython, perlห้องสมุด, คอมไพเลอร์ ฯลฯ ต้นไม้ของตัวเอง (/ SW สำหรับ Fink, / opt / local สำหรับ MacPorts) เหตุผลก็คือพวกเขาไม่สามารถควบคุมสิ่งที่ Apple ทำกับซอฟต์แวร์ของตนได้และบางครั้งก็ทำให้สิ่งต่าง ๆ เสียหายเมื่อ Apple อัปเดตเนื้อหาของตัวเอง

จากสิ่งที่ฉันเข้าใจ Homebrew ต้องการให้ "รวม" กับระบบมากกว่าใช้ไลบรารีที่ Apple จัดเตรียมไว้และติดตั้งเนื้อหาใน/usr/local/binและโฟลเดอร์มาตรฐานอื่น ๆ ฉันเดาว่านั่นหมายความว่าตัวเลือกซอฟต์แวร์นั้น จำกัด ด้วย Homebrew ฉันไม่สามารถจินตนาการได้ว่าจะติดตั้ง KDE ได้ แต่ฉันไม่ได้ลอง

จุดหนึ่งสำหรับ Fink vs. MacPorts: ไม่กี่ปีหลังโครงการ Fink ได้จัดทำแพ็คเกจไบนารี นั่นคือคุณสามารถดาวน์โหลดและติดตั้งแพ็คเกจโดยไม่ต้องรวบรวมด้วยตนเอง ผู้จัดการแพคเกจยังคงมีความสามารถดังกล่าวเท่านั้นที่ไม่มีไบนารีให้บริการเป็นเวลานาน ฉันไม่ทราบว่ามีการเปลี่ยนแปลงในระหว่างนี้

ดังนั้นในระยะสั้น: หากไม่มีสิ่งไบนารี, Fink และ MacPorts จะคล้ายกันมาก พวกเขาควรมีแพ็คเกจมากกว่า Homebrew ในขณะที่ Homebrew ควรใช้พื้นที่ดิสก์น้อยลงด้วยเหตุผลที่ฉันระบุไว้ข้างต้น เกี่ยวกับคุณภาพ: ฉันไม่เคยติดตั้ง Homebrew และระหว่าง Fink และ MacPort ฉันมักจะชอบที่ฉันไม่ได้ใช้

ดังนั้นหากคุณพอใจกับ MacPort เพียงอยู่กับมัน

ป.ล.เหตุผลที่ฉันไม่เคยลองใช้ภาษาฮิบรูคือฉันใช้แพ็คเกจที่รวบรวมไว้ล่วงหน้าแล้ว สิ่งเหล่านี้มักจะติดตั้งตัวเองลงใน / usr / local / bin และสิ่งที่คล้ายกันซึ่งเพิ่งร้องไห้เพราะมีปัญหา


ฉันคิดว่าคุณจะต้องผิดเกี่ยวกับ KDE แต่ก็เป็นเรื่องจริง ครั้งหนึ่งมันมีแพ็คเกจให้ แต่ดูเหมือนว่ามีบางอย่างเกี่ยวกับวิธีการสร้าง KDE ที่ไม่สอดคล้องกับลำดับชั้นของ Homebrew หวังว่าจะได้รับการแก้ไขในบางวัน
echristopherson

1
@echristopherson มันมี KDE ครั้งเดียวเหรอ? แปลกใจสำหรับฉัน แต่ KDE ดูเหมือนจะค่อนข้างบอบบางฉันเคยติดตั้งมันด้วย Fink และในการปรับปรุงครั้งต่อไปการติดตั้งทั้งหมดก็เกิดความสับสน ดังนั้นคุณจะคาดหวังว่ามันจะยิ่งบอบบางกับ Homebrew แต่ถ้าพวกเขาทำให้ถูกต้องในวันหนึ่งฉันจะเอาทุกอย่างที่ฉันพูดกลับมา
Percival Ulysses

4
การติดตั้ง Homebrew ใน / usr / local เป็นเหตุผลเดียวกับที่ฉันไม่ได้ใช้ ผสานกับปรัชญา unix แบบดั้งเดิมเท่านั้นที่ฉันควรใส่สิ่งต่าง ๆ ใน / usr / local .. ผู้จัดการแพ็คเกจควรจัดการคำนำหน้าอื่น ๆ
Jason

ส่วนตัวฉันใช้ MacPort แต่สุดท้ายฉันตรวจสอบ (ซึ่งเมื่อก่อน) Fink มีชุดของแพคเกจที่มีขนาดใหญ่กว่ามาก
HairOfTheDog

1
@ Jason นี่เป็นความจริงสำหรับเครื่องผู้ใช้รายเดียวหรือไม่ ฉันเพิ่งติดตั้ง Homebrew และหวังว่าฉันจะไม่เสียใจ ฉันยังไม่ชัดเจนว่าแอปเปิ้ลจัดการกับรูทและผู้ใช้ที่มีสิทธิ์ผู้ดูแลระบบอย่างไร ฉันเป็นผู้ใช้คนเดียวในระบบของฉัน
haziz

8

ฉันจะบอกความแตกต่างที่สำคัญคือ: ความ
สุขุมผลลัพธ์และวิธีการกระจาย

รายละเอียดที่สำคัญที่สุดจะช่วยให้คุณตรวจสอบว่าระบบที่คุณเลือกมีแพ็คเกจสำหรับซอฟต์แวร์ที่คุณต้องการหรือไม่ จำนวนแพ็คเกจมีประมาณ: 19k Macports, 22k Fink, 3k Homebrew, 10k pkgsrc

  • Macportsก่อนหน้านี้พอร์ตของดาร์วินน่าจะเป็นระบบพอร์ตสไตล์ BSD เช่น pkgsrc ซึ่งได้รับแหล่งที่มา, ทำการแก้ไข, สร้างและติดตั้ง ถ้ามันเป็นเหมือน pkgsrc มันจะทำโดยใช้เชลล์สคริปต์ มันเคยใช้เครื่องมือที่ให้โดย Xcode แต่มันเริ่มก่อให้เกิดปัญหาดังนั้นตอนนี้มันก็สามารถ bootstrap gcc ได้ นอกจากนี้ยังมีแพ็คเกจไบนารีบางส่วน แต่คุณอาจไม่พบเวอร์ชันล่าสุดสำหรับระบบของคุณทุกครั้ง มันมาจากดาร์วิน BSD ของ Apple ที่เปิดแหล่งที่มาตามเคอร์เนล OS X ซึ่งหยุดการแจกจ่าย มันติดตั้งแพคเกจ/opt/localซึ่งอาจจะไม่ได้รับการสัมผัสโดยแพคเกจติดตั้งอื่น ๆ หรือการอัพเกรดระบบ
  • Fink , re: ฟินช์เป็นหัวข้อของการศึกษาของ Charles Darwin, เป็นระบบแพ็กเกจที่ใช้ Debian Package Manager, ซึ่งหมายความว่ามันมีคุณสมบัติการใช้งานdpkgและapt-getประโยชน์หลัก ๆ ที่คุณสามารถหาแพ็คเกจไบนารีได้อย่างน่าเชื่อถือ .. พื้นที่เก็บข้อมูลที่มีไบนารีสำหรับระบบปฏิบัติการรุ่นปัจจุบันของคุณ มันออกมาจากฐานผู้ใช้ของดาร์วิน แต่อาจได้รับความนิยมมากกว่าสำหรับผู้ที่มาจาก Debian Linux [สำหรับ mac หรือ PPC] กำลังมองหาการสนับสนุนฮาร์ดแวร์ที่เสถียรกว่าเล็กน้อย ... ขณะที่มันยังคงอยู่ มันจะติดตั้งแพคเกจ/swด้วยเหตุผลที่ไม่เขียนทับหรือเขียนทับสิ่งที่ผู้ติดตั้งรายอื่นอาจติดตั้ง ยังมีบางอย่างเกี่ยวกับเส้นทางการค้นหาคอมไพเลอร์และค่าเริ่มต้นPATHที่มี/usr/local/binอยู่แล้ว
  • Homebrewเป็นระบบพอร์ตในแนวคิด แต่เขียนเป็นทับทิม มันไม่ได้มาจากโลก OS แบบสแตนด์อโลนและมีไว้สำหรับผู้ใช้ Mac OS X (ส่วนอื่น ๆ นั้นถูกใช้อย่างละเอียดและผ่านการทดสอบด้วยเหมือนกัน) ตั้งแต่กลางปี ​​2014 มันพยายามสร้างทุก ๆ แพ็คเกจ (เรียกว่าสูตร) ​​แต่มีไม่กี่แบบในรูปแบบไบนารีที่เรียกว่าขวดและคุณสามารถสร้างที่เก็บขวดเพื่อแบ่งปันในกลุ่มโซเชียลของคุณถ้าคุณชอบแบบกึ่ง - ปรับมาตรฐานคุณและเพื่อนของคุณ (เช่นเดียวกันสำหรับระบบอื่น ๆ ) ในด้านบวกมันสร้างขึ้นโดยใช้ห้องสมุดมากเท่าที่คุณอาจมีที่มาจาก Apple ฉันคิดว่าคุณไม่จำเป็นต้องใช้ Xcode เพื่อให้มันทำงานได้ในกรณีส่วนใหญ่ แต่มัน "รองรับและแนะนำ" มัน คุณสามารถติดตั้งแต่ละรายการในคำนำหน้าของตัวเอง/usr/localฉันคิดว่ามันเริ่มต้นแล้วและเร็วกว่าคนอื่น ๆ ฉันพบว่าเป็นการส่วนตัวที่ฉันใช้สิ่งนี้มากที่สุดเพราะฉันไม่ค่อยต้องการแพ็คเกจแบบพึ่งพาซึ่งกันและกันและฉันก็ไม่แน่ใจว่า mac homebrew รองรับได้ดีแค่ไหน Homebrew มีจุดมุ่งหมายเพื่อบังคับให้คุณใช้ตัวจัดการแพ็กเกจที่เหมาะสมยิ่งขึ้นสำหรับซอฟต์แวร์ที่มาจากตัวจัดการที่เชื่อมโยงกันอย่างแน่นหนาเช่น cpan, อัญมณีและสิ่งที่คล้ายกัน
  • pkgsrcจะพร้อมใช้งานสำหรับ Mac OS X มีไบนารีแพคเกจและมาจาก NetBSD ซึ่งดูแลและเปิดใช้บนระบบพอร์ตของ FreeBSD NetBSD ให้ความสำคัญกับการพกพาข้ามสถาปัตยกรรมที่อาจเป็นระบบพอร์ตที่ดีที่สุดในการเริ่มสนับสนุนแพลตฟอร์มอื่น ๆ เช่นกัน มันคล้ายในคำอธิบายของฉันไป Macport แต่ฉันไม่ได้ใช้มัน (ยกเว้น NetBSD) และผมคิดว่ามันจะติดตั้งลงในแต่สร้างและรักษาแพคเกจใน/ /pkgอาจมีแพคเกจจำนวนมาก (เช่น 12k) และบางส่วน 20% อาจไม่สร้างหรือเวอร์ชันล่าสุดของแหล่งที่มาอาจไม่แก้ไขด้วยแพทช์บำรุงรักษาล่าสุด นั่นเป็นเหตุผลว่าทำไมแพ็คเกจไบนารีจึงเป็นสิ่งที่ฉันชอบสำหรับระบบประเภทนี้

ฉันยังใช้ภาษาบอสเนียซึ่งเป็นภาษาโฮมบรูว์สำหรับperlแอพพลิเคชั่นที่สร้างขึ้นในภาษา Perl และการอ้างอิงบางอย่าง ส่วนใหญ่เป็นวิธีที่ดีในการรักษาความหลากหลายของ perl และมันไม่ต้องการความสะดวกในการใช้ระบบแพ็คเกจทั่วไปอื่น ๆ (เพื่อจุดประสงค์) แต่แน่นอนว่ายังมีcpanและcpanminus

คุณอาจพบว่าผู้จัดการที่คล้ายกันสำหรับตัวคุณเองมินิสภาพแวดล้อม (เช่นvundleสำหรับกลุ่มหรืออัญมณีทับทิม, NPMสำหรับ Node.js, pypmหรือpipสำหรับหลามไปของในตัวgo install... ฯลฯ ?)


จำนวนแพ็กเกจนั้นทำให้เข้าใจผิดเนื่องจาก Homebrew ไม่ได้มีแพ็คเกจบางประเภท - ดูเพิ่มเติมที่apple.stackexchange.com/questions/32724/…
Dan Dascalescu

5

Fink และ MacPort เป็นคู่แข่งโดยตรงที่พวกเขาติดตั้งระบบแบบมุมฉาก ตำรวจสูญเสียพื้นที่สำคัญให้กับ MacPort เมื่อหลายปีก่อน ฉันไม่แน่ใจว่าทำไมตอนนี้ แต่ MacPort จัดการเกือบทุกอย่างดีขึ้น

เรามีเหตุผลที่น้อยลงสำหรับการติดตั้งมุมฉากขณะนี้ที่ Mac OS X ได้เติบโตกางเกงบ้าน้อยลง Brew ถูกสร้างขึ้นเพื่อรวมเข้ากับ Mac OS X ได้ดีขึ้นทำให้มีน้ำหนักเบาและมีมุมฉากน้อยลงและเพราะ Rubyist เขียนทุกอย่างใหม่

ในทางปฏิบัติ MacPorts นั้นซับซ้อนกว่าเล็กน้อย แต่ MacPort นั้นใช้งานได้เกือบทุกครั้งในขณะที่ Brew นั้นง่ายกว่า แต่มีแนวโน้มที่จะวิ่งเข้าไปในกำแพงอิฐ

ถามตัวเองด้วยคำถามเหล่านี้:

  • คุณใช้เครื่องมือของระบบปฏิบัติการ Linux มากมายหรือไม่?
  • คุณต้องการหลายรุ่นหรือไม่
  • คุณทดลองใช้เครื่องมือใหม่หรือไม่?
  • คุณใช้เครื่องมือทางคณิตศาสตร์ / วิทยาศาสตร์ / ห้องสมุดหรือเครื่องมือที่ผิดปกติอื่น ๆ หรือไม่?

คำตอบที่ใช่คำแนะนำใด ๆ ที่คุณควรเลือก MacPorts Brew จะมีค่าใช้จ่ายน้อยลงหากคุณติดตั้งแพ็คเกจที่ค่อนข้างน้อยและทั่วไป แต่ Brew จะไม่จัดการกับความซับซ้อนเช่นกัน สร้างมลภาวะ/usr/localที่คุณอาจต้องการสำหรับการติดตั้งด้วยตนเอง ที่จริงแล้วมีข้อโต้แย้งที่ละเอียดมากขึ้นสำหรับ MacPortsแต่อีกครั้งพวกเขาอาจไม่ได้ใช้ถ้าคุณตอบว่าไม่ใช่

ในทางกลับกันถ้าคุณตอบว่าใช่ แต่เครื่องหลักของคุณใช้ Linux และ Mac ของคุณเป็นเพียงของเล่นที่ใช้งานซอฟต์แวร์ Linux เพียงเล็กน้อยเท่านั้นจริง ๆ แล้วคุณอาจทำได้ดีกว่ากับ Brew


2

แต่เป็นหมายเหตุด้านข้างไม่มีสิ่งใดที่เกี่ยวข้องกับ Apple OS X ที่จะติดตั้งตัวเองลงใน / usr / local / bin พวกเขาใช้ / usr / lib, / usr / bin เบื้องหลังและเฟรมเวิร์กที่ได้รับการบรรจุลงใน / Library / Frameworks ในขณะที่สิ่งที่คุณติดตั้งตัวเองผ่าน Unix ./configure ปกติทำการติดตั้งจะใช้ / usr / local / bin ฯลฯ และยูทิลิตี้อย่าง MacPorts จะใช้ / opt / และอาจเป็นแพคเกจเฟรมเวิร์กกับ ~ / Library / Frameworks /

คำแนะนำของฉันคืออยู่กับ MacPort ถ้านั่นคือสิ่งที่คุณคุ้นเคย โดยพื้นฐานแล้วความแตกต่างที่สำคัญคือ MacPorts ใช้ระบบที่คล้ายกับการติดตั้งทรีของ Unix / BSD ทรีกับพอร์ตจาก FreeBSD ในขณะที่ Fink ใช้แอปพลิเคชันที่ย้ายจากคลังเก็บ Linux Debian และใช้ระบบตัวจัดการแพคเกจเดียวกับ Linux Debian

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.