Anladığım kadarıyla, Apple dağıtılmış bir çalıştırılabilirle aynı çarpışmaya (aynı ada sahip) brew
hiçbir şey /usr/local/bin
koymuyor. Bu nedenle, sahip /usr/local/bin
öncesi yolunda /bin
ve /usr/bin
hiçbir ad çarpışmalar olması gerektiğini, çünkü bir sorun olmamalıdır. * Ancak, sorunlar görüyorum ls
ve tar
ve benzeri diğer paket toplayıcılar kullanılarak fink
ve port
yolu aşağıda, (MacPorts).
Brew
Ad çarpışmalarını yönetmeye yardımcı olduğunu bildiğim iki şeyden birini yapıyor:
Brew
Bağlanmamış fıçıları Cellar'da bırakır. Bir şeyler yüklemek için, demlemek bulundukları aletleri bırakır ve içindeki araçlara sembolik bağlantılar oluşturur /usr/local/bin
. brew
Ad çarpışması istemeyen araçlar için sembolik bir bağlantı oluşturmaz.
- İçin birçok da vardır standart tüm araçları değilse
/bin
ve /usr/bin
, brew
bağlantıyı önek /usr/local/bin
örneğin bir gerçekleştirme böylece, bir "g" ile ls
bir demleme sürümü, kullanımı ile gls
. Basitçe bir ls -l
giriş yapın /usr/local/bin
ve bağlantılı dosyaları arayın - bunlar brew
orada belirtilenlerdir. Not: brew
Gerçek adlarıyla erişilmesi gereken yüklü araçlar içinde bulunur /usr/local/Cellar/coreutils/8.21/libexec/gnubin
.
Ben koymayın /usr/local/bin
iki nedenden dolayı benim yolunda - o nedenleri cevabım alt kısmındadır.
Sisteminizdeki isim çarpışmalarını değerlendirmek brew doctor
için bu bölümü kullanın ve arayın - İşte brew doctor
ilgilendiğiniz çıktı:
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
Ben koymayın nedeni brew
'çünkü ilk ler araçları, aslında, hiç de vardır brew
yüklü ls
ve tar
komutlar, aslında, düzgün son kontrol zamanı (geçen hafta olduğu) dosya sistemi ACL ilgilenmem, onlar değildin' hiç ele alınmadı . Bu BÜYÜK bir sorundur ve ilişkili birlikte tümüyle önlemek için man
ayarlama ile birlikte etiketleri sayfa yapılandırma sorunu $PATH
, ben koymak emin hakkını OSX
özellikle de bulunan ilgili araçları, /bin
ve /usr/bin
ilk.
Hiçbir zaman /usr/local/bin
yoluma koymamamın bir başka nedeni brew
de, diğerleri ile iyi oynamaması fink
ve port
(MacPorts) şu anda ŞİMDİ ihtiyacım olan daha çok desteklenen paketlere sahip olmasıdır . Mesela ben alabilirim gnome-terminal
ile fink
ancak aynı bir formül oluşturmak için büyük bir çaba ve yapacağını brew
. Bu nedenle, araştırmamda ( sırasıyla ve sırasıyla) tutarım /sw
ve hecelenmiş veya dahil olmak üzere ihtiyaç duyduğum şeylere atıfta bulunurum veya kod yazarken tamamen farklı bir ortam için bir dosya kaynaklarım ./opt
$PATH
fink
port
/usr/local/bin
gnat
bash
alias
setup
Ada
Mesele şu ki, o zaman gerçekten ne istediğine ve neye ihtiyacın olduğuna bağlı.
İşte yukarıda bahsettiğim ACL problemine bir örnek.
Standart OSX
aletlerle:
$ /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
ve brew
yüklü araçlarla:
$ /usr/local/bin/gls -le /var/root
/usr/local/bin/gls: invalid option -- 'e'
Try '/usr/local/bin/gls --help' for more information.
ve
$ /usr/local/bin/gls --help | grep -i acl
Benzer sonuçlar alacaksınız tar
ve ben evimde pek çok başka brew
araç tanımıyorum , ancak bir ACL
sorun nedeniyle 6 ay boyunca bir şeyi kırabilecek kim var ?