Según tengo entendido, brewno pone nada en /usr/local/bineso que colisiona (tiene el mismo nombre que) un ejecutable distribuido de Apple. Por lo tanto, tener /usr/local/binen el camino antes /biny /usr/binno debería ser un problema, porque no debería haber colisiones de nombres. * Sin embargo, vea los problemas con lsy tar, y el uso de otros agregadores de paquetes como finky port(MacPorts), a continuación.
Brew hace una de las dos cosas que sé que ayudan a administrar las colisiones de nombres:
Brewdeja barriles desvinculados en la bodega. Para instalar cosas, brew deja las herramientas donde están y crea enlaces simbólicos a esas herramientas /usr/local/bin. Para las herramientas que brewno desean una colisión de nombres, no crea un enlace simbólico.
- Para muchas, si no todas, las herramientas estándar que también se encuentran en
/biny /usr/bin, brewprefijan el enlace /usr/local/bincon una "g", por ejemplo, para realizar una lsversión en brew, use gls. Basta con hacer una ls -len /usr/local/biny buscar los archivos vinculados - esos son los que brewponen allí. Nota: Las brewherramientas instaladas a las que deben acceder sus nombres reales se encuentran en /usr/local/Cellar/coreutils/8.21/libexec/gnubin.
No pongo /usr/local/binen mi camino por dos razones: esas razones están al final de mi respuesta.
Para evaluar las colisiones de nombres en su sistema, use brew doctory busque esta sección: aquí está el brew doctorresultado de interés:
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
La razón por la que no pongo brewlas herramientas primero, de hecho, no es porque los brewinstalados lsy los tarcomandos no manejan el sistema de archivos ACL correctamente, de hecho, la última vez que revisé (que fue la semana pasada), no estaban t manejado en absoluto . Este es un GRAN problema, y para evitarlo por completo, junto con el manproblema de configuración de página asociado que etiqueta junto con la configuración $PATHcorrecta, me aseguro de poner las OSXherramientas relacionadas, especialmente las que se encuentran /biny /usr/bin, primero.
Otra razón por la que ni siquiera pongo /usr/local/binen mi camino es porque brewno juega bien con los demás, finky port(MacPorts) tiene paquetes mucho más compatibles actualmente que los que necesito AHORA . Por ejemplo, yo puedo conseguir gnome-terminalcon fink, pero sería un gran esfuerzo para construir una fórmula y hacer lo mismo con brew. Por lo tanto, mantengo /swy /opten mi búsqueda $PATH(para finky port, respectivamente) y referencias de cosas que necesito /usr/local/bin, incluyendo gnat, deletreado, o uso bash alias's, o obtengo un setuparchivo para un entorno completamente diferente cuando escribo Adacódigo.
La cuestión es que realmente depende de lo que quieras y necesites en ese momento.
Aquí hay un ejemplo del problema de ACL que mencioné anteriormente.
Con las OSXherramientas estándar :
$ /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
y con las brewherramientas instaladas:
$ /usr/local/bin/gls -le /var/root
/usr/local/bin/gls: invalid option -- 'e'
Try '/usr/local/bin/gls --help' for more information.
y
$ /usr/local/bin/gls --help | grep -i acl
Obtendrá resultados similares tary no conozco muchas otras brewherramientas, ¡pero quién puede darse el lujo de que algo se rompa en 6 meses debido a un ACLproblema!