Je ne sais pas comment ajouter de façon permanente des chemins à la variable denvironnement PATH. Jai trouvé plusieurs questions pour ceci à chaque fois avec des réponses différentes. Jai créé un .bash_profile
dans mon répertoire personnel, mais chaque fois que je redémarre, je dois à nouveau export
mes chemins.
source ~/.bash_profile
ne fonctionne même pas.
Que me manque-t-il?
Ceci est actuellement mon .bash_profile
export PATH="/usr/local/opt/python/libexec/bin:$PATH" export PATH="/usr/local/opt/openssl/bin:$PATH" export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH" export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
Commentaires
Réponse
Ce que vous « avez présenté est la bonne façon dajouter des répertoires supplémentaires à votre utilisateur » s $PATH
.
Étape 1 – ~/.bash_profile
Pour commencer à apporter des modifications à votre ~/.bash_profile
en ajoutant les emplacements que vous « d jaime avoir modifié votre $PATH
.
export PATH="/usr/local/opt/python/libexec/bin:$PATH" export PATH="/usr/local/opt/openssl/bin:$PATH" export PATH="/Applications/XAMPP/xamppfiles/bin:$PATH"
Étape 2 – source ~/.bash_profile
Après avoir apporté les modifications ci-dessus à ce fichier, vous pouvez utiliser la commande source
ou la commande .
notation pour « recharger » et modifications apportées à ce fichier dans le contexte de votre shell actuel.
$ . ~/.bash_profile
-ou-
$ source ~/.bash_profile
Étape 3 – Évaluer les modifications
Après avoir effectué les modifications et les avoir recherchées, vous pouvez confirmer quelles ont eu leffet souhaité en faisant écho au contenu du varible.
$ echo $PATH | tr ":" "\n" /usr/local/bin /usr/bin /bin /usr/sbin /sbin /opt/X11/bin /Applications/Wireshark.app/Contents/MacOS /usr/local/sbin /Users/smingolelli/bin /usr/local/opt/go/libexec/bin /Applications/Visual Studio Code.app/Contents/Resources/app/bin /Users/smingolelli/projects/kubebuilder/kubebuilder_1.0.5_darwin_amd64/bin/
Lordre est important, donc les répertoires qui apparaissent en premier seront recherchés en premier. Si un binaire vit à plusieurs endroits, le premier endroit rencontré sera celui qui est utilisé.
Gardez également à lesprit que plusieurs sources de ce fichier auront un effet négatif de continuer à ajouter les mêmes modifications, il est donc fréquent que vous souhaitiez définir complètement le $PATH
dans un état initial connu cohérent, puis le modifier avec ces types de commandes:
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin" export PATH="/some/new/dir:$PATH"
Utilisation de path_helper
macOS inclut également une aide pour vous aider à gérer votre $PATH
. Il « se trouve ici /usr/libexec/path_helper
.
Donc, au lieu de créer manuellement votre base $PATH
comme mentionné ci-dessus, vous pouvez à la place utilisez cet extrait de code pour obtenir un bon point de départ connu pour votre $PATH
.
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
Cela prendra soin de linitialiser $PATH
pour que tous les répertoires répertoriés dans /etc/paths
et /etc/paths.d/
soient ajoutés automatiquement.
Commentaires
- Il pourrait être préférable dutiliser
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
pour initialiser le chemin afin que tous les répertoires répertoriés dans/etc/paths
et/etc/paths.d/
sont ajoutés automatiquement. - @nohillside a du sens. Je nétais pas ' Je ne sais pas que macOS avait cette aide, merci, je ' Je vais ajouter à A ' euh.
- Jai un coup doeil à
/etc/profile
. Il ' ne se passe pas beaucoup là-bas, mais initial isingPATH
en fait partie. - Juste une tête ' est debout, mon
~./bash_profile
achemine simplement vers~/.bashrc
qui est le fichier que jai dû modifier. - @slm
[ -x /usr/libexec/path_helper ] && eval $(/usr/libexec/path_helper -s)
supprimer la deuxième partie me donne le même résultat que dutiliser simplement la première partie lorsque jesource ~/.bash_profile
plus dune fois. Peut-être quune explication de ce que fait chaque partie serait utile.
echo $PATH
echo $PATH
pour que je puisse voir explicitement et précisément quel était le résultat. Désolé, mais je peux ' t aider si je Je nai pas reçu les informations que je demande!/Applications/XAMPP/xamppfiles/bin:/usr/local/opt/openssl/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin