Si je comprends bien, brewrien ne se met dans ce /usr/local/binqui entre en collision (a le même nom que) un exécutable distribué Apple. Par conséquent, avoir /usr/local/bindans le chemin auparavant /binet /usr/binne devrait pas être un problème, car il ne devrait y avoir aucune collision de noms. * Cependant, voyez les problèmes avec lset tar, et utilisez d'autres agrégateurs de paquetages comme finket port(MacPorts), de manière plus détaillée.
Brew Est-ce que l'une des deux choses que je connais qui aide à gérer les collisions de noms:
Brewlaisse des fûts non liés dans la cave. Pour installer des éléments, brasser laisse les outils là où ils sont et crée des liens symboliques vers ces outils dans /usr/local/bin. Pour les outils qui brewne veulent pas de conflit de nom, cela ne crée pas de lien symbolique.
- Pour la plupart des outils standard qui sont aussi dans
/binet /usr/bin, brewpréfixe le lien /usr/local/binavec un "g", par exemple, pour effectuer une lsversion avec une infusion, utilisez gls. Il suffit de faire un ls -ldans /usr/local/binet recherchez les fichiers liés - ce sont ceux brewmis là. Remarque: Les brewoutils installés auxquels il faut accéder par leur vrai nom se trouvent dans /usr/local/Cellar/coreutils/8.21/libexec/gnubin.
Je ne mets pas /usr/local/binsur mon chemin pour deux raisons - ces raisons sont au bas de ma réponse.
Pour évaluer les collisions de noms dans votre système, utilisez brew doctoret recherchez cette section - Voici la brew doctorsortie d'intérêt de:
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 raison pour laquelle je ne mets pas d' brewabord les outils, en fait, pas du tout, c'est parce que les commandes brewinstallées lset tarne gèrent pas correctement les ACL du système de fichiers. En fait, la dernière fois que j'ai vérifié (ce qui était la semaine dernière), elles n'étaient pas t pas manipulé du tout . C’est un gros problème, et pour l’éviter complètement, ainsi que le manproblème de configuration de page associé à la balise et à la définition $PATHcorrecte, je m’assure de mettre les OSXoutils associés, en particulier ceux trouvés dans /binet /usr/bin, d’abord.
Une autre raison pour laquelle je ne mets même pas du tout /usr/local/binsur mon chemin est que je brewne joue pas très bien avec les autres, et finkque port(MacPorts) propose actuellement davantage de packages pris en charge dont j'ai besoin maintenant . Par exemple, je peux obtenir gnome-terminalavec fink, mais ce serait un gros effort pour construire une formule et faire la même chose avec brew. Donc, je garde /swet /optdans ma recherche $PATH(pour finket portrespectivement) et référence les éléments dont j'ai besoin /usr/local/bin, y compris gnat, soit épelés, soit ceux que j'utilise bash alias, ou je source un setupfichier pour un environnement totalement différent lors de l'écriture de Adacode.
Le fait est que cela dépend vraiment de ce que vous voulez et de ce dont vous avez besoin à ce moment-là.
Voici un exemple du problème ACL que j'ai mentionné ci-dessus.
Avec les OSXoutils standards :
$ /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
et avec les brewoutils installés:
$ /usr/local/bin/gls -le /var/root
/usr/local/bin/gls: invalid option -- 'e'
Try '/usr/local/bin/gls --help' for more information.
et
$ /usr/local/bin/gls --help | grep -i acl
Vous obtiendrez des résultats similaires avec taret je ne connais pas beaucoup d’autres brewoutils, mais qui peut se permettre d’obtenir quelque chose en moins 6 mois à cause d’un ACLproblème!