ตัวติดตั้งอย่างเป็นทางการสำหรับแพ็คเกจ Unix บน Mac OS คืออะไร?


10

ฉันสับสนเกี่ยวกับการติดตั้งแพคเกจ Unix มาตรฐานบน Mac OS X ตัวอย่างเช่นฉันมี / usr / bin / svn ซึ่งเป็น SVN v.1.4.4 แต่ FinkCommander กล่าวว่า svn ไม่ได้ติดตั้ง การถือเช่นเดียวกันสำหรับแพ็คเกจอื่น ๆ เช่น emacs เป็นต้น

นั่นเป็นเพียงการตั้งค่า FinkCommander ผิดหรือเปล่า? ขณะนี้ก็มีการตั้งค่าการติดตั้งทุกอย่างในซึ่งไม่ได้แม้จะอยู่ใน/sw PATHดังนั้นฉันต้องตั้งค่าให้ติดตั้งแพคเกจ/usrและจะรับรู้ซอฟต์แวร์ที่ติดตั้งหรือไม่ ฉันไม่ต้องการติดตั้งแพ็กเกจที่ซ้ำกันของทุกอย่างและมันค่อนข้างแปลกที่ FinkCommander ดูเหมือนจะไม่ซิงค์กับซอฟต์แวร์ที่ติดตั้ง

หรือมีโปรแกรมติดตั้งอื่นที่ฉันควรใช้? Mac Ports เป็นโปรแกรมติดตั้งที่แนะนำให้ใช้หรือไม่

(ฉันใช้ Mac OS 10.5.8)


คำถามที่ดีและคำตอบที่ดี ลองดูสิ่งนี้: superuser.com/questions/28529/macports-fink-etc
Jonik

สำหรับ MacPorts: การคอมไพล์ทุกแพ็กเกจตั้งแต่เริ่มต้นเป็นบ้า ฉันพบว่าตัวเองกำลังออกจากแล็ปท็อปมาหลายวันแล้วตอนนี้เพื่อติดตั้ง R กับ MacPorts (ซึ่งคอมไพล์แรกคือ gcc43, perl, automake, glib2 และอีกมากมาย ... )
dehmann

หากคุณต้องการแพคเกจไบนารีที่สร้างไว้ล่วงหน้าให้ตรวจสอบRudix
Telemachus

คำตอบ:


10

ไม่มีผู้จัดการแพคเกจอย่างเป็นทางการสำหรับ OS X

Fink , MacPortsและHomebrewมีคุณสมบัติและฟังก์ชั่นที่แตกต่างกันเพื่อเติมเต็มช่องว่างนี้

ตามที่ผู้ใช้หลายคนชี้:

  • หลีกเลี่ยงการใช้ / usr
  • จนกว่าคุณจะกำหนดค่า PATH ของคุณแพคเกจจากไดเรกทอรีต่าง ๆ จะไม่พบ

ขอบคุณสำหรับคำตอบ. มันค่อนข้างน่าผิดหวัง ทำไมพวกเขาถึงเสนอแพ็คเกจผู้จัดการที่เหมาะสมไม่ได้? :-(
dehmann

5
กลุ่มเป้าหมายของพวกเขาไม่รู้จะทำอย่างไร พวกเราที่เหลือทำให้การทำงาน :-)
Jeremy L

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

7

แม้ว่าจะไม่มีผู้จัดการแพคเกจ Unix / FOSS อย่างเป็นทางการสำหรับ Mac OS X แต่ก็ควรสังเกตว่า MacPorts ถูกสร้างขึ้นและยังคงได้รับการดูแลรักษาเป็นหลักโดยวิศวกร Mac OS X / Darwin ของ Apple เว็บไซต์ macports.org โฮสต์บนเซิร์ฟเวอร์ของ Apple ซึ่งเป็นส่วนหนึ่งของโครงการ "MacOSForge.com" ของ Apple เนื่องจาก Mac OS X / Darwin เป็นพื้นฐานของ * BSD วิศวกรซอฟต์แวร์ Unix-layer ของ Apple หลายคนมาจากประเพณี * BSD ดังนั้นพวกเขาจึงจำลองแบบ MacPorts ตามโมเดล "พอร์ต BSD"

Fink เป็นผู้จัดการแพคเกจโอเพ่นซอร์สดั้งเดิมสำหรับ Mac OS X แต่มันไม่มีความผูกพันกับองค์กรอย่างใกล้ชิดกับ Apple และมันเลือกที่จะปฏิบัติตามประเพณีที่เหมาะสมของ Debian Linux

ฉันไม่แน่ใจว่ารายละเอียดใด ๆ ข้างต้นก็เพียงพอที่จะแนะนำอีกอย่างหนึ่ง ฉันจะบอกว่าเป็นรุ่นที่คุณคุ้นเคยมากกว่าอยู่แล้ว หากคุณคุ้นเคยกับ apt-get มากขึ้นให้ไปกับตำรวจ หากคุณคุ้นเคยกับ "พอร์ต" BSD มากขึ้นไปกับ MacPorts

อย่างที่คนอื่นพูดคุณควรปล่อยให้เครื่องมือ Unix เริ่มต้นของ Mac OS X มาคนเดียว Fink และ MacPorts ได้เรียนรู้บทเรียนนั้นแล้วและติดตั้งสำเนาของสิ่งต่าง ๆ ในลำดับชั้นไดเรกทอรีของตนเอง (/ sw สำหรับ Fink / เลือกใช้ MacPorts) Homebrew ยังไม่ได้เรียนรู้บทเรียนอย่างเต็มที่ แต่ทันทีที่ผู้ใช้บางคนใช้ Homebrew เพื่ออัปเดตสำเนาในตัวเช่น Perl หรือ Python และมีปัญหาความเข้ากันได้ที่ไม่คาดคิดซึ่งทำให้ Mac ในตัวมีปัญหา OS X เช่นแพ็คเกจตัวติดตั้ง (ไฟล์บันเดิลของ Mac OS X .pkg) ที่ใช้สคริปต์ Perl เพื่อทำงานการติดตั้งบางอย่าง


5
ตามที่ฉันเข้าใจ Homebrew ติดตั้งภายใต้ / usr / local / และจะไม่เขียนทับระบบ Python
Pepijn

4
เป็นไปไม่ได้ที่การใช้ Homebrew จะเขียนทับส่วนประกอบที่มีอยู่ของคุณ OSX จัดส่งโดยไม่มี / usr / local โดยค่าเริ่มต้น
พอลโรบินสัน

5

ไม่มีผู้จัดการแพ็คเกจอย่างเป็นทางการสำหรับ OS X

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

เลือกหนึ่งและติดกับมัน หากคุณรู้สึกว่าคุณต้องเปลี่ยนมันเป็นการดีที่สุดที่จะลบตัวจัดการแพ็คเกจอื่นออกและติดตั้งใหม่จากตัวใหม่


3

เวอร์ชันของ svn ที่คุณเห็นนั้นมาพร้อมกับ Mac OS X ไม่ใช่จาก Fink หรือแหล่งอื่น ๆ

คุณสามารถระบุรุ่นต่าง ๆ ได้โดยใช้typeคำสั่งของ bash ตัวอย่างเช่นฉันใช้ MacPorts และติดตั้ง sqlite3 เวอร์ชันใหม่:

$ type -a sqlite3
sqlite3 is /opt/local/bin/sqlite3
sqlite3 is /usr/bin/sqlite3

รุ่นใน / opt / local / bin มาจาก MacPorts รุ่นใน / usr / bin มาพร้อมกับ Mac OS X

ฉันแนะนำให้คุณอย่าติดตั้ง Fink หรือ MacPorts ไบนารีลงใน / usr - ปล่อยให้อยู่คนเดียว ให้ Fink ติดตั้งใน / sw หรือ MacPorts ติดตั้งใน / opt / local ปรับของคุณPATHเพื่อค้นหารุ่น Fink / MacPorts ก่อนรุ่นมาตรฐาน


การใช้ธงที่คล้ายกันคุณสามารถใช้which -a sqlite3
Jeremy L

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