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

  • Que voulez-vous dire par " source ~ / .bash_profile ne fonctionne ' même pas "? Obtenez-vous un message derreur?
  • Quittez le terminal, puis rouvrez-le … quel ' est le résultat de: echo $PATH
  • @ user3439894 ouais que ' est étrange, en fait les chemins sont tous ici, première ligne exclue (celle de python)
  • Je mattendais à ce que vous postiez le résultat de 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

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 ising PATH 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 je source ~/.bash_profile plus dune fois. Peut-être quune explication de ce que fait chaque partie serait utile.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *