J'ai récemment ajouté un répertoire au Windows PATH manuellement en allant dans Panneau de configuration -> Système -> Paramètres système avancés -> Variables d'environnement -> Variables utilisateur -> PATH. (Windows 7, 64 bits.)
Après le redémarrage et le démarrage de cmd.exe, echo %PATH%
indique que cela a fonctionné: je vois le répertoire que j'ai récemment ajouté dans la sortie.
Cependant, après avoir démarré Git Bash, la sortie de echo $PATH
n'inclut pas ce répertoire.
Je pourrais ajouter export PATH=$PATH:/c/my/path
dans mon bashrc mais je préfère que Git Bash obtienne simplement PATH à partir de Windows, donc je n'ai pas à me rappeler d'ajouter des chemins à deux endroits. Comment cela peut-il être accompli?
(Une question connexe plus générale est de savoir ce qui configure $ PATH de Git Bash? Je vois quelques entrées répétées à différents endroits, certaines choses qui sont dans Windows% PATH% sont dans $ PATH de Git Bash mais pas d'autres. Que se passe-t-il avant Je reçois l'invite Git Bash qui touche $ PATH?)
C:\cygwin\usr\x86_64-w64-mingw32\sys-root\mingw\bin
.Réponses:
Une session msysgit git bash utilise le script
share/WinGit/Git Bash.vbs
, qui n'accède pas ou ne modifie pas la variable d'environnementPATH
(comme ce serait le cas dans ce script vbs sans rapport, par exemple )Une session git bash ajoutera simplement devant votre courant
PATH
:Il est possible que la session mingw empaquetée avec msysgit ne tienne pas compte d'une
bin
autre installation mingw: vous pouvez le vérifier en définissant un autre répertoire (plus simple) dans votrePATH
et voir s'il est toujours visible dans votre session git bash. Sinon, c'est un problème plus général qui concerne tous les répertoires que vous ajouteriez au PATH.la source
"c:\Program Files\Java\jdk1.8.0_25"\bin
dans mon chemin Windows est converti/c/Program Files/Java/jdk1.8.0_25"/bi
en chemin git bash (note manquante premier et dernier caractère) ... alors la question est, comment cela se produit-il?Voici ma petite solution de contournement pour un problème similaire (bash MSYS2 sur Windows 10).
L'idée est de convertir les chemins requis en chemins de style Unix et de les ajouter à bash $ PATH, tout se fait en .bashrc.
N'ajoutez pas les chemins requis à Win PATH. Au lieu de cela, créez un nouveau var env dans Windows, comme MSYS2_WINPATH, et ajoutez tous les répertoires de chemin d'accès Windows séparés par des points-virgules à cette variable. Ajoutez% MSYS2_WINPATH% à% PATH%.
Maintenant, insérez ceci dans votre .bashrc -
la source
Si la valeur PATH est trop longue après la concaténation de la variable PATH de votre utilisateur sur la variable PATH d'environnement, Windows échouera silencieusement à concaténer la variable PATH utilisateur.
Cela peut facilement se produire après l'installation d'un nouveau logiciel et ajoute quelque chose à PATH, cassant ainsi le logiciel installé existant. Windows échoue!
La meilleure solution consiste à modifier l'une des variables PATH dans le panneau de configuration et à supprimer les entrées dont vous n'avez pas besoin. Ouvrez ensuite une nouvelle fenêtre CMD et voyez si toutes les entrées sont affichées dans "echo% PATH%".
la source
Essayez de déplacer le répertoire au début de votre variable de chemin. J'ai eu le même problème que vous après l'installation de p4merge. Le répertoire perforce a été ajouté au chemin et p4merge a été trouvé par cmd.exe, mais pas par git shell (mingw). Après une recherche infructueuse, j'ai essayé de simplement éditer la variable afin que le répertoire perforce apparaisse en premier sur mon chemin. J'ai lancé git shell et, voila, le répertoire est inclus dans la sortie de
$ echo $path
, et$ p4merge
ouvre p4merge.C'est une sorte de réponse boiteuse, car je ne sais pas pourquoi cela fonctionne, mais si la solution de contournement aide quelqu'un d'autre, tant mieux.
la source