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?
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?
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.
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
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.
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.
macports tidak menimpa paket OSX asli - ia memasok versi sendiri - Ini adalah alasan utama saya lebih suka macports daripada buatan sendiri, Anda harus yakin dengan apa yang Anda gunakan dan perubahan Apple pada waktu yang berbeda ke port dan telah diketahui bertahun-tahun di belakang pembaruan dalam beberapa proyek
Bisakah Anda memberikan referensi yang menunjukkan bahwa macports menimpa paket OS X asli? Sejauh yang saya tahu, semua instalasi macports terjadi di
/opt/local
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 :
Kami benar-benar tidak suka dupes di Homebrew / homebrew
Namun, kami suka dupes di keran!
Hal-hal yang datang dengan OS X atau perpustakaan yang disediakan oleh RubyGems, CPAN atau PyPi tidak boleh ditipu. Ada alasan bagus untuk ini:
- Duplikat pustaka secara teratur memecah bangunan
- Bug halus muncul dengan pustaka duplikat, dan pada tingkat lebih rendah, alat duplikat
- Kami ingin Anda berusaha lebih keras untuk membuat formula Anda berfungsi dengan OS OS X
Anda secara opsional dapat menimpa versi utilitas yang disediakan macosx dengan homebrew.
/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.
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!
/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 tanpa sudo
. 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 tanpa sudo
karena ketika mengatur sendiri, itu digunakan sudo
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 bahwa homebrew
akan bisa mendapatkan barang tanpa kata sandi.