Lorsque j'utilise Git Bash (sous Windows), je ne peux exécuter aucun exécutable sans spécifier son chemin complet, bien qu'il se trouve dans un dossier qui se trouve dans ma variable PATH. On dirait que bash ne le reconnaît pas. Pourquoi? Puis-je le réparer?
107
Réponses:
Je l'ai. En tant qu'utilisateur Windows, j'ai l'habitude de taper des noms d'exécutables sans extensions. Dans mon cas, je voulais exécuter un fichier appelé
cup.bat
. Dans un shell Windows, tapercup
suffirait. Bash ne fonctionne pas de cette façon, il veut le nom complet. La frappe acup.bat
résolu le problème. (Je n'ai pas pu exécuter le fichier cependant, car apparemment bash ne pouvait pas comprendre son contenu)Une raison de plus pour passer à posh-git.
Merci @Tom de m'avoir indiqué la bonne direction.
la source
alias cup=cup.bat
.bat
; l'extension implique un script batch Windows - en particulier sur une machine Windows.Peut-être que bash ne voit pas votre chemin Windows. Tapez
env|grep PATH
bash pour confirmer le chemin qu'il voit.la source
Suite au commentaire de @ Daniel et grâce à la réponse de @ Tom, j'ai découvert que Git bash utilisait bien le PATH mais pas les derniers chemins que j'ai récemment installés. Pour contourner ce problème, j'ai ajouté un fichier dans mon répertoire home (windows) nommé:
.bashrc
et le contenu comme suit:
PATH=$PATH:/c/Go/bin
parce que j'installais Go et que ce chemin contenait l'exécutable
go.exe
Now Git bash a pu reconnaître la commande:go
Peut-être qu'un redémarrage du système aurait suffi dans mon cas, mais je suis heureux que cette solution fonctionne dans tous les cas.
la source
PATH=$PATH:/c/Go/bin:/c/other/path
c:/Users/[myusername]/
c'est mon répertoire personnelPendant que vous installez Git, vous pouvez sélectionner l'option ci-dessous, cela vous aidera à définir le chemin automatiquement.
Cela a fonctionné pour moi :)
la source
Créez un fichier dans C: \ Users \ USERNAME qui s'appelle config.bashrc, contenant:
Maintenant, déplacez le fichier sur la ligne de commande vers l'emplacement correct:
la source
Redémarrez l'ordinateur après avoir ajouté une nouvelle valeur à PATH.
la source
Ancienne question mais ça peut aider quelqu'un d'autre.
J'ai changé mon utilisateur PATH, après cela je viens de me déconnecter et de me reconnecter.
C'est ça!
git bash
chargé correctement la nouvelle valeur PATH.la source
export PATH=$NEW_PATH:$PATH
. Et faire des choses normalementJe peux confirmer que le redémarrage du système garantira que le PATH défini dans la variable d'environnement dans Windows est capté par git et qu'il n'y a pas d'autre moyen automatique.
la source
Il semble que la cause principale ici soit que Git Bash ne soit pas toujours capable d'analyser correctement la variable% USERPROFILE%. Au lieu de le rendre relatif à C: \ Users \\, il obtient la valeur C: \ Windows \ System 32 \ systemprofile \ Après avoir changé cela en une adresse pleinement qualifiée, cela fonctionne, et même si je le réinitialise par la suite, Git Bash toujours a le CHEMIN correct pour une raison quelconque.
la source
Sous Windows 10, désinstallez simplement git et réinstallez-le. Il définira automatiquement la variable d'environnement pour vous. J'avais supprimé la variable d'environnement par erreur et je ne pouvais pas utiliser git dans mon IDE. La réinstallation de git a résolu ce problème.
la source
Dans le cas où votre
git-bash
dePATH
cadeaux , mais pas le dernier et vous ne voulez pas un redémarrage , mais régénérer votrePATH
s, vous pouvez essayer de fermer toutcmd.exe
,powershell.exe
etgit-bash.exe
puis rouvrez une fenêtre cmd.exe à partir du menu Démarrer ou de bureau et voir si l'PATH
env est mis à jour . Si vous avez changé à l'échelle du système,PATH
vous devez également ouvrir une fenêtre cmd privilégiée.Remarque: cela ne fonctionne pas avec toutes les versions de Windows et s'ouvrir
cmd.exe
n'importe où autre que le menu Démarrer ou le bureau peut ne pas fonctionner , testé avec mes 3 ordinateurs et 2 d'entre eux fonctionnent. Je n'ai pas compris pourquoi cela fonctionne, mais comme laPATH
variable d'environnement est générée automatiquement lorsque je me connecte et me déconnecte, je ne vais pas gâcher cette variable avec la concaténation de variables.la source
Pour moi, le plus pratique était de: 1) Créer le répertoire "bin" à la racine du lecteur C: 2) Ajouter "C: / bin;" vers PATH dans "Poste de travail -> Propriétés -> Variables d'environnement"
la source
Je rencontre ce problème lorsque j'essaye d'utiliser mingw pour compiler la lib xgboost dans Win10. Enfin j'ai trouvé la solution.
Créez un fichier nommé .bashrc dans votre répertoire personnel (généralement C: \ Users \ username). Ajoutez ensuite le chemin d'accès. N'oubliez pas d'utiliser des guillemets si votre chemin contient du blanc, et n'oubliez pas d'utiliser / c / au lieu de C: /
Par exemple:
PATH = $ PATH: "/ c / Program Files / mingw-w64 / x86_64-7.2.0-posix-seh-rt_v5-rev1 / mingw64 / bin"
la source
J'ai rencontré une erreur stupide de ma part. J'avais un système à l'échelle du système et un chemin de variable utilisateur défini pour mon espace de travail golang sur ma machine Windows 10. Lorsque j'ai supprimé le chemin des variables système redondantes et que j'ai déconnecté et réactivé, j'ai pu appeler des fichiers .exe dans bash et appeler go env avec succès.
Bien que OP ait été répondu, c'est un autre problème qui pourrait empêcher bash de voir vos chemins. Je viens de tester à nouveau bash avec ce problème et cela semble donner une sorte de conflit qui empêche bash de suivre l'un ou l'autre des chemins.
la source
Je sais que c'est une vieille question mais il y a deux types de variables d'environnement. Celui qui appartient à l'utilisateur et celui à l'échelle du système. Selon la façon dont vous ouvrez git bash (avec privilège utilisateur ou avec privilège administrateur), la variable d'environnement PATH utilisée peut provenir de vos variables utilisateur ou de variables système. Voir ci-dessous:
comme indiqué dans une réponse précédente, vérifiez avec la commande
env|grep PATH
celle que vous utilisez et mettez à jour votre variable en conséquence. BTW, pas besoin de redémarrer le système. Fermez et rouvrez le git bashla source
Dans mon cas, c'est arrivé lors de l'installation de heroku cli et git bash, voici ce que j'ai fait pour travailler.
arrivé à cet endroit
C:\Users\<username here>\AppData\Local
et supprimez le fichier dans mon dossier heroku cas. J'ai donc supprimé le dossier et exécuté cmd. Ça fonctionne
la source
N'échappez pas les caractères spéciaux (\) lors de l'édition / de l'ajout à votre variable $ PATH. Par exemple, un répertoire d'application dans des fichiers programme ressemblerait à ceci:
PATH=$PATH:/c/Program Files (x86)/random/application
Ne fais pas ça:
PATH=$PATH:/c/Program\ Files\ \\(x86\\)/random/application/
J'espère que cela t'aides.
la source
PATH=$PATH:/c/Program Files (x86)/random/application
... ce n'est pas la bonne syntaxe bash pour définir le PATH. Cela ajoutera temporairement le répertoire/c/Program
au chemin, puis essaiera d'exécuter le programmeFiles
avec des arguments(x86)/random/application
. Le seul problème avec votre exemple "ne faites pas ceci" est qu'il a doublé les contre-obliques pour les crochets, lorsque les contre-obliques simples sont correctes.Pour ceux d'entre vous qui ont essayé toutes les méthodes mentionnées ci-dessus, y compris l'environnement système Windows. variables, .bashrc, .bashprofile, etc. ET peut voir le chemin correct dans 'echo $ PATH' ... J'ai peut-être une solution pour vous.
supprimer les erreurs en utilisant exec 2> / dev / null
Mon script fonctionne bien mais lançait des erreurs «commande non trouvée» ou «Aucun répertoire trouvé» même si, pour autant que je sache, les chemins étaient alignés. Donc, si vous supprimez ces erreurs (vous devrez peut-être également ajouter 'set + e'), cela fonctionne correctement.
la source
Créez une variable utilisateur nommée Path et ajoutez comme valeur% Path%, d'après ce que j'ai remarqué, Git Bash ne voit que les variables utilisateur et non les variables système. En effectuant la procédure mentionnée, vous exposerez votre variable système dans les variables utilisateur.
la source
Dans les variables d'environnement de chemin Windows 7, je viens d'ajouter à la fin du chemin de la variable système
\; C: \ Program Files \ Git \ bin
et ça marche maintenant!
la source