OK, je m'excuse si c'est quelque chose de stupide, mais je suis à court d'idées.
Objectif: ajouter /usr/local/bin
à$PATH
Problème: $PATH
ne fera pas ce que je veux ou ce que j'attends
Comment je suis arrivé ici: je veux commencer à apprendre à programmer, donc je suis à l'aise de jouer sous le capot, mais je n'ai pas beaucoup d'expérience. J'ai installé le fish
shell (car il est convivial!) En l'utilisant homebrew
et le définissant comme mon shell par défaut (en dessous system prefs>users & groups>advanced
). À un moment donné, j'ai couru brew doctor
pour voir si mes installations étaient toutes casher, et cela m'a suggéré de passer /usr/local/bin
à l'avant de $PATH
sorte que je puisse utiliser mon installation de git
plutôt que la copie système. Très bien - mais entre path_helper
et fish
, quelque chose se passait $PATH
hors de mon contrôle, et je ne pourrais jamais obtenir les chemins arrangés de la bonne manière.
Environnement: Mac OS X 10.8.2, mis à jour à partir 10.7ish, avec xcode
et devtools installé, plus x11
, homebrew
etfish
Plus d' infos: J'ai mis dos shell par défaut de mon utilisateur bash
, et a essayé une variété de coquillages à travers terminal.app
- bash
, fish
, sh
. Je me suis déplacé /usr/local/bin
au sommet de /etc/paths
mais cela n'a rien changé. J'ai regardé à travers les différents config.fish
fichiers et commenté des trucs qui pourraient jouer avec $ PATH, n'a pas aidé. J'ai les fichiers suivants dans /etc/paths.d/
:
./10-homebrew
contenant /usr/local/bin
./20-fish
contenant /usr/local/Cellar/fish/1.23.1/bin
./40-XQuartz
contenant /opt/X11/bin
J'ai ajouté set +x
à mon profile
et quand je commence, terminal.app
je reçois:
Last login: Mon Oct 1 13:31:06 on ttys000
+ '[' -x /usr/libexec/path_helper ']'
+ eval '/usr/libexec/path_helper -s'
++ /usr/libexec/path_helper -s PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/Cellar/fish/1.23.1/bin:/opt/X11/bin";
export PATH;
+ '[' /bin/bash '!=' no ']'
+ '[' -r /etc/bashrc ']'
+ . /etc/bashrc
++ '[' -z '\s-\v\$ ' ']'
++ PS1='\h:\W \u\$ '
++ shopt -s checkwinsize
++ '[' Apple_Terminal == Apple_Terminal ']'
++ '[' -z '' ']'
++ PROMPT_COMMAND='update_terminal_cwd; '
++ update_terminal_cwd
++ local 'SEARCH= '
++ local REPLACE=%20
++ local PWD_URL=file://Chriss-iMac.local/Users/c4
++ printf '\e]7;%s\a' file://Chriss-iMac.local/Users/c4
Chriss-iMac:~ c4$
Il semble donc que path_helper s'exécute, mais ensuite l'exécution echo $PATH
me met en réseau /usr/bin:/bin:/usr/sbin:/sbin
. Donc, on dirait qu'il path_helper
ne fait même plus ce qu'il est censé faire?
Je suis sûr qu'il y a un comportement bien défini ici que je ne comprends pas, ou j'ai falsifié quelque chose en essayant de le réparer. Aidez-moi!
fish
en créant~/.config/fish/config.fish
avecset PATH /usr/local/bin $PATH
mais j'ai toujours le problème depath_helper
ne pas fonctionner comme il se doit et$PATH
donc d'être incomplet. Ont également toujours le problème de différents$PATH
pour les scripts, les applications démarrées à partir de l'interface graphique, etc.