31 votes

La bonne façon d'ajouter des chemins à PATH dans mojave

Je ne sais pas comment ajouter des chemins permanents à la variable d'environnement PATH. J'ai trouvé plusieurs questions à ce sujet, avec des réponses différentes à chaque fois. J'ai créé un .bash_profile dans mon répertoire personnel, mais à chaque fois que je redémarre, je dois le faire manuellement. export mes chemins à nouveau.

source ~/.bash_profile ne fonctionne même pas.

Qu'est-ce que je rate ?

C'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"

37voto

slm Points 4018

Ce que vous avez exposé est la manière correcte d'ajouter des répertoires supplémentaires au répertoire de l'utilisateur. $PATH .

( _REMARQUE : Ces instructions sont destinées aux Macs qui utilisent la fonction bash coquille. À partir de MacOS 10.15 (Catalina), les Macs utilisent l'interpréteur de commandes zsh par défaut. Toutes les étapes ci-dessous s'appliquent toujours, à l'exception du fait que le fichier est ~/.zshrc au lieu de ~/.bash_profile . Si vous n'êtes pas sûr de l'interpréteur de commandes que vous utilisez, vous devriez être en mesure d'exécuter la commande suivante ps -p $$ pour le découvrir_ )

Étape 1 - ~/.bash_profile

Pour commencer, apportez des modifications à votre ~/.bash_profile en ajoutant les emplacements que vous souhaitez modifier à 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 effectué les modifications ci-dessus dans ce fichier, vous pouvez soit utiliser la fonction source ou la commande . pour "recharger" les modifications apportées à ce fichier dans le contexte de votre shell actuel.

$ . ~/.bash_profile

-ou-

$ source ~/.bash_profile

Étape 3 - Évaluer les changements

Après avoir effectué les modifications et les avoir sourcées, vous pouvez confirmer qu'elles ont eu l'effet désiré en faisant écho au contenu du fichier $PATH 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/

L'ordre est important, ainsi les répertoires qui apparaissent en premier seront recherchés en premier. Si un binaire se trouve à plusieurs endroits, le premier endroit rencontré sera celui qui sera utilisé.

Gardez également à l'esprit que les sources multiples de ce fichier auront un effet négatif en continuant à ajouter les mêmes modifications, et qu'il est donc souvent préférable de semer complètement le fichier $PATH à un état initial connu et cohérent, puis le modifier avec ce type 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 un assistant pour aider à la gestion de votre $PATH . Il est situé ici /usr/libexec/path_helper .

Donc, au lieu de créer manuellement votre base $PATH comme mentionné ci-dessus, vous pouvez utiliser cet extrait 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 d'initialiser $PATH donc tous les répertoires listés dans /etc/paths y /etc/paths.d/ sont ajoutés automatiquement.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X