Seperti yang saya pahami, brew
tidak ada /usr/local/bin
yang bertabrakan (memiliki nama yang sama) dengan Apple yang dapat dieksekusi. Oleh karena itu, memiliki /usr/local/bin
di jalur sebelumnya /bin
dan /usr/bin
tidak boleh menjadi masalah, karena seharusnya tidak ada tabrakan nama. * Namun, lihat masalah dengan ls
dan tar
, dan menggunakan agregator paket lain seperti fink
dan port
(MacPorts), jalan di bawah ini.
Brew
apakah salah satu dari dua hal yang saya tahu tentang hal itu membantu mengelola benturan nama:
Brew
meninggalkan tong yang tidak terhubung di Gudang. Untuk menginstal barang, brew meninggalkan alat di tempatnya, dan membuat tautan simbolis ke alat tersebut di /usr/local/bin
. Untuk alat yang brew
tidak ingin tabrakan nama, itu tidak membuat tautan simbolis.
- Bagi banyak orang, jika tidak semua alat standar yang ada di
/bin
dan /usr/bin
, brew
awalan tautan /usr/local/bin
dengan "g", jadi misalnya, untuk melakukan ls
versi pembuatan, gunakan gls
. Cukup lakukan ls -l
in /usr/local/bin
dan cari file yang tertaut - itu adalah yang brew
diletakkan di sana. Catatan: Alat yang brew
diinstal yang harus diakses dengan nama aslinya ada di /usr/local/Cellar/coreutils/8.21/libexec/gnubin
.
Saya tidak menempatkan /usr/local/bin
jalan saya karena dua alasan - alasan itu ada di bawah jawaban saya.
Untuk menilai tabrakan nama di sistem Anda, gunakan brew doctor
dan cari bagian ini - Inilah brew doctor
keluaran yang menarik:
Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:
ctags
emacs
emacsclient
etags
ex
git
git-cvsserver
git-receive-pack
git-shell
git-upload-archive
git-upload-pack
rview
rvim
view
vim
vimdiff
vimtutor
xxd
Consider setting your PATH so that /usr/local/bin
occurs before /usr/bin. Here is a one-liner:
echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
Alasan saya tidak meletakkan brew
alat terlebih dahulu, pada kenyataannya, tidak sama sekali, adalah karena brew
diinstal ls
dan tar
perintah tidak menangani sistem file ACL dengan benar, pada kenyataannya, terakhir kali saya memeriksa (yang minggu lalu), mereka tidak tidak ditangani sama sekali . Ini adalah masalah BESAR, dan untuk menghindarinya bersama-sama, bersama dengan man
masalah konfigurasi halaman terkait yang menandai bersama dengan pengaturan yang $PATH
tepat, saya memastikan saya meletakkan OSX
alat terkait, terutama yang ditemukan di /bin
dan /usr/bin
, pertama.
Alasan lain saya bahkan tidak menempatkan /usr/local/bin
jalan saya sama sekali adalah karena brew
tidak bermain baik dengan orang lain, dan fink
dan port
(MacPorts) memiliki cara paket yang lebih didukung saat ini yang saya butuhkan SEKARANG . Misalnya, saya bisa mendapatkan gnome-terminal
dengan fink
, tetapi itu akan menjadi usaha besar untuk membangun rumus dan melakukan hal yang sama dengan brew
. Jadi, saya menyimpan /sw
dan /opt
dalam pencarian saya $PATH
(untuk fink
dan port
, masing-masing) dan referensi hal-hal yang saya butuhkan dari /usr/local/bin
, termasuk gnat
, baik dijabarkan, atau saya gunakan bash
alias
, atau saya sumber setup
file untuk lingkungan yang sama sekali berbeda ketika saya menulis Ada
kode.
Masalahnya, itu benar-benar tergantung pada apa yang Anda inginkan dan butuhkan saat itu.
Berikut adalah contoh masalah ACL yang saya sebutkan di atas.
Dengan OSX
alat standar :
$ /bin/ls -le /var/root | head -7
total 24
drwx------+ 3 root wheel 102 May 28 2013 Desktop
0: group:everyone deny delete
1: user:_spotlight inherited allow list,search,readattr,readextattr,readsecurity,file_inherit,directory_inherit
drwx------+ 6 root wheel 204 Sep 19 14:22 Documents
0: group:everyone deny delete
1: user:_spotlight inherited allow list,search,readattr,readextattr,readsecurity,file_inherit,directory_inherit
dan dengan brew
alat yang diinstal:
$ /usr/local/bin/gls -le /var/root
/usr/local/bin/gls: invalid option -- 'e'
Try '/usr/local/bin/gls --help' for more information.
dan
$ /usr/local/bin/gls --help | grep -i acl
Anda akan mendapatkan hasil yang sama dengan tar
dan saya tidak tahu banyak brew
alat lain di rumah , tetapi siapa yang mampu memiliki sesuatu istirahat 6 bulan di jalan karena ACL
masalah!