Apa penginstal resmi untuk paket Unix di Mac OS?

10

Saya agak bingung tentang instalasi paket Unix standar pada Mac OS X. Misalnya, saya memiliki / usr / bin / svn, yang merupakan SVN v.1.4.4, tetapi FinkCommander mengatakan svn tidak diinstal. Hal yang sama berlaku untuk paket lain, seperti emacs dll.

Apakah itu hanya pengaturan FinkCommander yang salah? Saat ini sudah diatur untuk menginstal semuanya /sw, yang bahkan tidak ada di PATH. Jadi, apakah saya hanya perlu mengaturnya untuk menginstal paket /usr, dan itu akan mengenali perangkat lunak yang diinstal? Saya tidak ingin menginstal paket duplikat dari semuanya, dan cukup aneh bahwa FinkCommander tampaknya tidak selaras dengan perangkat lunak yang diinstal.

Atau ada installer lain yang harus saya gunakan? Apakah Mac Ports installer yang disarankan untuk digunakan?

(Saya menggunakan Mac OS 10.5.8.)

dehmann
sumber
Pertanyaan bagus dan beberapa jawaban bagus. Lihat juga yang ini: superuser.com/questions/28529/macports-fink-etc
Jonik
Adapun MacPorts: Mengkompilasi setiap paket dari awal hanya gila. Saya menemukan diri saya meninggalkan laptop selama berhari-hari dan malam sekarang hanya untuk menginstal R dengan MacPorts (yang pertama kali mengkompilasi gcc43, perl, automake, glib2, dan banyak lagi ...).
dehmann
Jika Anda ingin paket biner prebuilt, periksa Rudix .
Telemachus

Jawaban:

10

Tidak ada manajer paket resmi untuk OS X.

Fink , MacPorts , dan Homebrew menyediakan fitur dan fungsionalitas berbeda untuk mengisi kekosongan ini.

Seperti yang ditunjukkan oleh banyak pengguna:

  • hindari menggunakan / usr
  • sampai Anda mengkonfigurasi PATH Anda, paket dari direktori yang berbeda tidak akan ditemukan.
Jeremy L
sumber
Terima kasih atas jawabannya. Itu cukup mengecewakan. Mengapa mereka tidak bisa menawarkan manajer paket yang tepat? :-(
dehmann
5
Target audiens mereka tidak akan tahu harus berbuat apa. Kita semua berhasil :-)
Jeremy L
Saya memilihnya sebagai jawaban yang diterima, tetapi saya akan menambahkan bahwa sebenarnya boleh saja menggunakan beberapa manajer. Setidaknya Fink dan MacPorts dapat hidup berdampingan, karena mereka menginstal ke direktori yang berbeda.
dehmann
7

Meskipun tidak ada manajer paket Unix / FOSS resmi untuk Mac OS X, perlu dicatat bahwa MacPorts dibuat dan masih dipelihara terutama oleh para insinyur Apple Mac OS X / Darwin. Situs web macports.org di-host di server Apple, sebagai bagian dari proyek Apple "MacOSForge.com". Karena Mac OS X / Darwin berbasis * BSD, banyak dari insinyur perangkat lunak Unix-layer Apple berasal dari tradisi * BSD, jadi mereka memodelkan MacPorts dengan model "port" * BSD.

Fink adalah manajer paket sumber terbuka asli untuk Mac OS X, tetapi tidak memiliki ikatan organisasi yang erat dengan Apple, dan ia memilih untuk mengikuti tradisi apt-get Debian Linux.

Saya tidak yakin rincian di atas cukup untuk merekomendasikan satu di atas yang lain. Saya akan mengatakan itu turun ke model yang sudah Anda kenal. Jika Anda lebih terbiasa dengan apt-get, pergi dengan Fink. Jika Anda lebih terbiasa dengan "port" BSD, gunakan MacPorts.

Seperti yang orang lain katakan, Anda sebaiknya meninggalkan alat Unix default Mac OS X sendirian. Fink dan MacPorts telah mempelajari pelajaran itu dan menginstal salinan hal-hal mereka sendiri dalam hierarki direktori mereka sendiri (/ sw untuk Fink, / opt untuk MacPorts). Homebrew belum sepenuhnya mempelajari pelajaran itu, tetapi mereka akan, segera setelah beberapa pengguna menggunakan Homebrew untuk memperbarui salinan bawaan dari, katakanlah, Perl atau Python, dan ia memiliki beberapa masalah kompatibilitas yang tidak terduga yang memecah potongan-potongan bawaan Mac OS X, seperti paket penginstal (file bundel .pkg Mac OS X) yang menggunakan skrip Perl untuk melakukan beberapa tugas instalasi.

Spiff
sumber
5
Seperti yang saya pahami, Homebrew menginstal di bawah / usr / local /, dan karenanya tidak akan pernah menimpa sistem Python.
Pepijn
4
Tidak mungkin menggunakan Homebrew untuk menimpa komponen yang ada. OSX dikirimkan tanpa / usr / lokal secara default.
Paul Robinson
5

Tidak ada manajer paket resmi untuk OS X.

Fink mungkin mengatakan itu tidak diinstal karena tidak diinstal di jalur Fink. Saya mengalami masalah ketika menginstal sesuatu dari Fink atau MacPorts, atau duplikat salinan dengan nomor versi yang berbeda.

Pilih satu dan patuhi itu. Jika Anda merasa harus berubah, sebaiknya hapus pengelola paket lainnya dan instal kembali dari yang baru.

Josh K.
sumber
3

Versi svn yang Anda lihat datang dengan Mac OS X - bukan dari Fink atau sumber lain.

Anda dapat mengidentifikasi berbagai versi menggunakan typeperintah bash . Sebagai contoh, saya menggunakan MacPorts dan menginstal versi sqlite3 yang lebih baru:

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

Versi di / opt / local / bin berasal dari MacPorts, versi di / usr / bin datang dengan Mac OS X.

Saya sarankan Anda tidak menginstal binari Fink atau MacPorts ke / usr - biarkan itu saja. Biarkan Fink menginstal di / sw atau MacPorts menginstal di / opt / local. Sesuaikan Anda PATHuntuk menemukan versi Fink / MacPorts sebelum versi standar

Doug Harris
sumber
Dengan menggunakan bendera yang serupa, Anda dapat menggunakanwhich -a sqlite3
Jeremy L