ฉันเพิ่งเปลี่ยนมาใช้ Mac จาก Ubuntu ฉันผิดหวังที่ mac ไม่สะดวกsudo apt-get
ใน Ubuntu ฉันได้ยินมาว่าฉันควรใช้ homebrew แต่ฉันไม่แน่ใจว่า homebrew หรือ macports ทำอะไร
ฉันเพิ่งเปลี่ยนมาใช้ Mac จาก Ubuntu ฉันผิดหวังที่ mac ไม่สะดวกsudo apt-get
ใน Ubuntu ฉันได้ยินมาว่าฉันควรใช้ homebrew แต่ฉันไม่แน่ใจว่า homebrew หรือ macports ทำอะไร
คำตอบ:
MacPorts เป็นวิธีที่จะไป
เช่นเดียวกับ @ user475443 ชี้ว่า MacPorts มีแพ็คเกจอีกมากมาย ด้วยการชงคุณจะพบว่าตัวเองติดอยู่ในไม่ช้าเพราะไม่มีสูตรที่คุณต้องการ
MacPorts เป็นแอปพลิเคชั่นดั้งเดิม: C + TCL คุณไม่ต้องการทับทิมเลย ในการติดตั้ง Ruby บน Mac OS X คุณอาจต้องใช้ MacPorts ดังนั้นให้ไปกับ MacPorts และคุณจะมีความสุข
MacPorts นั้นมีเสถียรภาพจริงๆใน 8 ปีที่ฉันไม่เคยมีปัญหากับมันและระบบนิเวศ Unix ทั้งหมดของฉันส่งต่อไป
หากคุณเป็นนักพัฒนา PHP คุณสามารถติดตั้ง Apache เวอร์ชันล่าสุด (Mac OS X ใช้ 2.2), PHP และส่วนขยายทั้งหมดที่คุณต้องการจากนั้นอัพเกรดทั้งหมดด้วยคำสั่งเดียว ลืมที่จะทำเช่นเดียวกันกับ Homebrew
กลุ่มสนับสนุน MacPorts
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
หากคุณมีทั้ง PHP55 และ PHP56 ติดตั้ง (มีส่วนขยายที่แตกต่างกันจำนวนมาก) คุณสามารถสลับระหว่างพวกเขาด้วยคำสั่งเดียว ส่วนขยายที่เกี่ยวข้องทั้งหมดเป็นส่วนหนึ่งของกลุ่มและจะเปิดใช้งานภายในกลุ่มที่เลือก: php55 หรือ php56 ฉันไม่แน่ใจว่า Homebrew มีคุณสมบัตินี้
Rubists ชอบที่จะเขียนทุกอย่างใน Ruby เพราะสิ่งเดียวที่พวกเขาสบายใจก็คือ Ruby นั่นเอง
Homebrew และ macports แก้ปัญหาเดียวกันนั่นคือการติดตั้งไลบรารีทั่วไปและยูทิลิตี้ที่ไม่ได้รวมอยู่กับ osx
โดยทั่วไปแล้วสิ่งเหล่านี้คือไลบรารีที่เกี่ยวข้องกับการพัฒนาและการใช้งานเครื่องมือเหล่านี้ส่วนใหญ่นั้นใช้สำหรับนักพัฒนาที่ทำงานบน
ทั้งคู่ต้องการเครื่องมือบรรทัดคำสั่ง xcode ที่ติดตั้ง (ซึ่งคุณสามารถดาวน์โหลดแยกต่างหากจากhttps://developer.apple.com/ ) และสำหรับแพ็คเกจเฉพาะบางชุดคุณจะต้องติดตั้ง IDE xcode ทั้งชุด
xcode สามารถติดตั้งได้จาก mac app store ซึ่งเป็นการดาวน์โหลดฟรี แต่ใช้เวลาสักครู่ตั้งแต่ประมาณ 5GB (ถ้าฉันจำได้ถูกต้อง)
macports เป็นเวอร์ชัน osx ของยูทิลิตี้พอร์ตจาก BSD (เนื่องจาก osx มาจาก BSD นี่เป็นตัวเลือกที่เป็นธรรมชาติ) สำหรับทุกคนที่คุ้นเคยกับการแจกแจง BSD ใด ๆ macports จะรู้สึกเหมือนอยู่บ้าน
ความแตกต่างที่สำคัญอย่างหนึ่งระหว่าง homebrew และ macports และเหตุผลที่ฉันชอบโฮมบรูว์คือมันจะไม่เขียนทับสิ่งที่ควรติดตั้ง "ดั้งเดิม" ใน osx ซึ่งหมายความว่าหากมีแพ็กเกจดั้งเดิมให้ใช้งาน homebrew จะแจ้งให้คุณทราบแทนการเขียนทับและทำให้เกิดปัญหาเพิ่มเติมในบรรทัด นอกจากนี้ยังติดตั้งไลบรารีในพื้นที่ผู้ใช้ (ดังนั้นคุณไม่จำเป็นต้องใช้ "sudo" เพื่อติดตั้งสิ่งต่าง ๆ ) สิ่งนี้จะช่วยในการกำจัดไลบรารีเช่นกันเนื่องจากทุกอย่างอยู่ในเส้นทางที่คุณสามารถเข้าถึงได้
homebrew ยังสนุกกับชุมชนผู้ใช้ที่ใช้งานมากขึ้นและแพ็คเกจ (เรียกว่าสูตร) ได้รับการปรับปรุงบ่อยครั้ง
macports ไม่ได้เขียนทับแพ็คเกจ OSX ดั้งเดิม - มันให้เวอร์ชั่นของตัวเอง - นี่คือเหตุผลหลักที่ฉันชอบ macports มากกว่า home-brew คุณต้องแน่ใจในสิ่งที่คุณใช้และการเปลี่ยนแปลงของ Apple ในเวลาที่ต่างกันไปยังพอร์ตและได้รับทราบ เป็นปีหลังการปรับปรุงในบางโครงการ
คุณสามารถให้การอ้างอิงที่แสดงว่า macports เขียนทับแพ็คเกจ OS X ดั้งเดิมได้หรือไม่ เท่าที่ฉันจะบอกได้ว่าการติดตั้ง macports เกิดขึ้น
/opt/local
บางทีฉันควรชี้แจง - ฉันไม่ได้พูดอะไรเลยในคำตอบของฉันที่ macports เขียนทับแพ็คเกจดั้งเดิมของ OSX พวกเขาทั้งสองติดตั้งรายการแยกต่างหาก
Homebrew จะเตือนคุณเมื่อคุณควรติดตั้งสิ่ง "ดั้งเดิม" (โดยใช้โปรแกรมติดตั้งที่ต้องการของไลบรารี / เครื่องมือ) เพื่อความเข้ากันได้ดียิ่งขึ้น นี่คือสิ่งที่ฉันหมายถึง มันจะใช้ไลบรารีโลคัลจำนวนมากที่มีอยู่ใน OS X จากวิกิ :
เราไม่ชอบการหลอกใน Homebrew / homebrew
อย่างไรก็ตามเราชอบเลียนแบบเสียงเพลงในการแตะ!
สิ่งที่มาพร้อมกับ OS X หรือเป็นไลบรารีที่ RubyGems, CPAN หรือ PyPi ไม่ควรติดตั้งซ้ำ มีเหตุผลที่ดีสำหรับสิ่งนี้:
- ไลบรารีที่ซ้ำกันแบ่งการสร้างเป็นประจำ
- ข้อบกพร่องที่ลึกซึ้งเกิดขึ้นกับห้องสมุดที่ซ้ำกันและในระดับที่น้อยกว่าเครื่องมือที่ซ้ำกัน
- เราต้องการให้คุณพยายามให้หนักขึ้นเพื่อให้สูตรของคุณทำงานกับ OS X ที่มาพร้อมกับ
คุณสามารถเลือกเขียนทับยูทิลิตี้เวอร์ชันที่ให้มาด้วย macosx ด้วย homebrew
/opt/local
ปัจจุบัน Macports มีแพ็คเกจเพิ่มเติม (~ 18.6 K) มากกว่าที่มี Homebrew formulas (~ 3.1K) เนื่องจากครบกำหนด Homebrew นั้นช้ากว่าที่คิด
แพคเกจ Macport มักจะได้รับการดูแลโดยบุคคลเดียว
Macports สามารถเก็บแพคเกจได้หลายเวอร์ชันและคุณสามารถเปิดหรือปิดการใช้งานเพื่อทดสอบสิ่งต่างๆ บางครั้งรายการนี้อาจเสียหายและคุณต้องแก้ไขด้วยตนเองเพื่อให้ได้สิ่งต่าง ๆ กลับมาตามลำดับแม้ว่าจะไม่ยากเกินไป
ผู้จัดการแพคเกจทั้งสองจะขอให้อัปเดตเป็นประจำ อาจใช้เวลาสักครู่
หมายเหตุ: คุณสามารถมีทั้งผู้จัดการแพ็คเกจในระบบของคุณ! มันไม่ได้เป็นอย่างใดอย่างหนึ่ง Brew อาจบ่น แต่ Macports จะไม่
นอกจากนี้หากคุณกำลังจัดการกับแพ็คเกจหลามหรือทับทิมให้ใช้สภาพแวดล้อมเสมือนจริงทุกที่ที่ทำได้
โดยค่าเริ่มต้น Homebrew จะติดตั้งแพ็คเกจไปที่ / usr / local คำสั่ง Macport ต้องการ sudo เพื่อติดตั้งและอัปเกรด (คล้ายกับ apt-get ใน Ubuntu)
สำหรับรายละเอียดเพิ่มเติม:
ไซต์นี้แนะนำให้ใช้ Hombrew: http://deephill.com/macports-vs-homebrew/
ในขณะที่ไซต์นี้แสดงข้อดีของการใช้ Macports: http://arstechnica.com/civis/viewtopic.php?f=19&t=1207907
ฉันเพิ่งเปลี่ยนจาก Ubuntu เมื่อเร็ว ๆ นี้และฉันสนุกกับการใช้ homebrew (มันง่ายและใช้งานง่าย!) แต่ถ้าคุณรู้สึกว่าใช้ sudo แล้ว Macports อาจเป็นวิธีที่ดีกว่า!
/usr/local
Homebrew Apple ปล่อย/usr/local
ให้ "executables, ไลบรารี, ฯลฯ ไม่รวมอยู่ในระบบปฏิบัติการพื้นฐาน" นั่นหมายความว่ามันเป็นไปได้ว่าเครื่องมือที่ติดตั้งก่อนที่จะใช้ Homebrew อาจสร้างดังกล่าวว่าไม่สามารถแก้ไขได้โดยไม่ต้อง/usr/local
sudo
พวกเขาไม่ได้พูดถึงเรื่องนั้นในวิกิ
/usr/local
หากไม่ได้รับอนุญาตรูท สิทธิ์เริ่มต้นสำหรับ/usr
การติดตั้ง OS X ใหม่คือเจ้าของรูทโดยไม่มีสิทธิ์การเขียนสำหรับบุคคลอื่น เพื่อสร้าง แม้กระทั่ง/usr/local
Homebrew จะต้องมีการเข้าถึงรูท (ฉันไม่ได้พยายามที่จะปกป้องอะไร)
homebrew
สามารถติดตั้งสิ่งต่าง ๆ ได้โดยไม่ต้องsudo
เพราะเมื่อมันตั้งค่าตัวเองมันใช้ sudo
เพื่อให้สิทธิ์ในไดเรกทอรีคลายดังนั้นมันจะสามารถทำสิ่งใด ๆ ภายใน/usr/local
โดยไม่ต้องเรียกรหัสผ่าน มันหมายความว่าส่วน "ติดตั้งโดยไม่มีรหัสผ่าน" ผิดหรือเปล่า? ฉันไม่คิดอย่างนั้น! ยังคงเป็นจริงที่homebrew
จะสามารถรับสิ่งโดยไม่มีรหัสผ่าน