Saya baru saja beralih ke Mac dari Ubuntu. Saya kecewa bahwa mac tidak memiliki kenyamanan sudo apt-get
di Ubuntu. Saya pernah mendengar bahwa saya harus menggunakan homebrew tetapi saya tidak yakin apa yang homebrew atau macports lakukan?
239
Jawaban:
MacPorts adalah caranya.
Seperti yang ditunjukkan oleh @ user475443, MacPorts memiliki banyak lebih banyak paket. Dengan minuman, Anda akan segera terjebak karena formula yang Anda butuhkan tidak ada.
MacPorts adalah aplikasi asli: C + TCL. Anda tidak membutuhkan Ruby sama sekali. Untuk menginstal Ruby di Mac OS X Anda mungkin perlu MacPorts, jadi pergilah dengan MacPorts dan Anda akan senang.
MacPorts benar-benar stabil, dalam 8 tahun saya tidak pernah punya masalah dengannya, dan seluruh ekosistem Unix saya menyampaikannya.
Jika Anda seorang pengembang PHP, Anda dapat menginstal versi terakhir Apache (Mac OS X menggunakan 2.2), PHP dan semua ekstensi yang Anda butuhkan, kemudian tingkatkan semua dengan satu perintah. Lupa melakukan hal yang sama dengan Homebrew.
Grup pendukung MacPorts.
Jika Anda menginstal PHP55 dan PHP56 (dengan banyak ekstensi berbeda), Anda dapat bertukar di antara keduanya hanya dengan satu perintah. Semua ekstensi relatif adalah bagian dari grup dan ekstensi itu akan diaktifkan di dalam grup yang dipilih: php55 atau php56. Saya tidak yakin Homebrew memiliki fitur ini.
Rubi suka menulis ulang semuanya di Ruby, karena satu-satunya hal yang membuat mereka nyaman adalah Ruby itu sendiri.
sumber
Homebrew dan macports keduanya memecahkan masalah yang sama - yaitu instalasi perpustakaan umum dan utilitas yang tidak dibundel dengan osx.
Biasanya ini adalah pustaka terkait pengembangan dan penggunaan paling umum dari alat ini adalah untuk pengembang yang bekerja di osx.
Keduanya membutuhkan alat baris perintah xcode yang terinstal (yang dapat Anda unduh secara terpisah dari https://developer.apple.com/ ), dan untuk beberapa paket tertentu Anda perlu menginstal seluruh xcode IDE.
xcode dapat diinstal dari app store mac, ini adalah unduhan gratis tetapi butuh waktu sejak sekitar 5GB (jika saya ingat dengan benar).
macports adalah versi osx dari utilitas port dari BSD (karena osx berasal dari BSD, ini adalah pilihan alami). Bagi siapa pun yang akrab dengan distribusi BSD, macports akan terasa seperti di rumah.
Satu perbedaan utama antara homebrew dan macports; dan alasan saya lebih suka homebrew adalah karena tidak akan menimpa hal-hal yang harus diinstal "secara native" di osx. Ini berarti bahwa jika ada paket asli yang tersedia, homebrew akan memberi tahu Anda alih-alih menimpa dan menyebabkan masalah lebih lanjut.Itu juga menginstal perpustakaan di ruang pengguna (dengan demikian, Anda tidak perlu menggunakan "sudo" untuk menginstal sesuatu). Ini membantu ketika menyingkirkan perpustakaan juga karena semuanya berada di jalur yang dapat diakses oleh Anda.homebrew juga menikmati komunitas pengguna yang lebih aktif dan paket-paketnya (disebut formula) diperbarui cukup sering.
Mungkin saya harus mengklarifikasi - saya tidak mengatakan di mana pun dalam jawaban saya bahwa macports menimpa paket asli OSX. Keduanya menginstal item secara terpisah.
Homebrew akan memperingatkan Anda ketika Anda harus menginstal hal-hal "asli" (menggunakan installer perpustakaan / alat pilihan) untuk kompatibilitas yang lebih baik. Ini yang saya maksud. Ini juga akan menggunakan banyak perpustakaan lokal yang tersedia di OS X. Dari wiki :
Anda secara opsional dapat menimpa versi utilitas yang disediakan macosx dengan homebrew.
sumber
/opt/local
Saat ini, Macports memiliki lebih banyak paket (~ 18,6 K) daripada formula Homebrew (~ 3.1K), karena jatuh tempo. Homebrew perlahan-lahan mengejar ketinggalan.
Paket macport cenderung dipertahankan oleh satu orang.
Macports dapat menyimpan beberapa versi paket, dan Anda dapat mengaktifkan atau menonaktifkannya untuk menguji berbagai hal. Terkadang daftar ini bisa rusak dan Anda harus mengeditnya secara manual untuk mendapatkan kembali semuanya, meskipun ini tidak terlalu sulit.
Kedua manajer paket akan meminta untuk diperbarui secara berkala. Ini bisa memakan waktu.
Catatan: Anda dapat memiliki kedua manajer paket di sistem Anda! Itu bukan satu atau yang lain. Brew mungkin mengeluh tetapi Macports tidak mau.
Juga, jika Anda berurusan dengan paket python atau ruby, gunakan lingkungan virtual sedapat mungkin.
sumber
Secara default, Homebrew menginstal paket ke / usr / local Anda. Perintah Macport membutuhkan sudo untuk menginstal dan meningkatkan (mirip dengan apt-get di Ubuntu).
Untuk lebih detail:
Situs ini menyarankan menggunakan Hombrew: http://deephill.com/macports-vs-homebrew/
sedangkan situs ini mencantumkan keuntungan menggunakan Macports: http://arstechnica.com/civis/viewtopic.php?f=19&t=1207907
Saya juga beralih dari Ubuntu baru-baru ini, dan saya menikmati menggunakan homebrew (sederhana dan mudah digunakan!), Tetapi jika Anda merasa terikat menggunakan sudo, Macports mungkin cara yang lebih baik untuk pergi!
sumber
/usr/local
tanpa memerlukan sudo?/usr/local
ke Homebrew. Apple telah pergi/usr/local
ke "executable, libraries, dll. Tidak termasuk dalam sistem operasi dasar". Itu artinya ada kemungkinan bahwa alat yang diinstal sebelum menggunakan Homebrew mungkin telah dibuat/usr/local
sedemikian rupa sehingga tidak dapat dimodifikasi tanpasudo
. Mereka tidak membicarakan hal itu di wiki./usr/local
tanpa izin root. Izin default untuk/usr
instalasi OS X yang baru adalah pemilik root, tanpa izin menulis untuk orang lain. Untuk membuat/usr/local
, Homebrew akan membutuhkan akses root. (Saya tidak mencoba membela apa pun)homebrew
dapat menginstal barang tanpasudo
karena ketika mengatur sendiri, itu digunakansudo
untuk membuat izin pada direktori lebih longgar sehingga akan dapat melakukan apa pun di dalam/usr/local
tanpa memicu kata sandi. Apakah itu berarti bagian "instal tanpa kata sandi" salah? Saya kira tidak! Itu masih benar bahwahomebrew
akan bisa mendapatkan barang tanpa kata sandi.