web-dev-qa-db-fra.com

La variable d'environnement Windows 7 ne fonctionne pas dans le chemin

J'essaie de configurer un chemin en utilisant la variable d'environnement . J'ai ajouté une variable d'environnement "MAVEN_HOME" avec la valeur "C:\maven" . Puis, dans le chemin, j'ai ajouté "% MAVEN_HOME%\bin ;. ..rest ". Lorsque je tape" echo $ MAVEN_HOME% ", le bon" C:\maven "est imprimé à l'écran . Mais lorsque je tape" mvn ", qui est un fichier de commandes dans le" bin ", il ne le trouve pas.

Donc, j'ai ajouté manuellement le chemin complet dans PATH . "C:\maven\bin; ... rest" " Et il a été capable de trouver" mvn "et de l'exécuter.

Quelqu'un pourrait-il m'aider à réparer mes erreurs?

39
jiminssy

J'ai eu exactement le même problème, pour le résoudre, vous pouvez faire l'une des deux choses suivantes:

  • Placez toutes les variables dans les variables système à la place de l'utilisateur et ajoutez celles que vous voulez dans PATH

Ou 

  • Placez toutes les variables dans les variables utilisateur et créez ou modifiez les variables PATH dans la variable utilisateur, pas dans le système. Les variables de chemin d'accès dans le système ne développent pas les variables utilisateur.

Si les réponses ci-dessus sont correctes, mais que le problème persiste, vous devez vérifier le registre système dans HKEY_CURRENT_USER\Environment pour vous assurer que le type de clé "PATH" est REG_EXPAND_SZ (et non REG_SZ).

51
pcmind

Vérifiez s'il y a un espace entre le chemin précédent et le suivant:

Incorrect: c:\path1; c:\Maven\bin\; c:\path2\

Correct: c:\path1;c:\Maven\bin\;c:\path2\

71
Daniel Bonetti

Mon problème s'est avéré être d'une simplicité embarrassante:

Redémarrez la commande Invite et les nouvelles variables doivent être mises à jour

32
kaybee99

Des choses comme avoir% PATH% ou des espaces entre les éléments sur votre chemin vont le casser. Être averti.

Oui, les chemins Windows qui incluent des espaces provoqueront des erreurs. Par exemple, une application a ajouté ceci au début de la définition de variable système% PATH%:

C:\Program Files (x86)\WebEx\Productivity Tools;C:\Sybase\IQ-16_0\Bin64;

ce qui empêchait de définir tous les chemins de% PATH% dans la fenêtre cmd.

Ma solution consiste à délimiter la variable de chemin d'accès étendu entre guillemets, le cas échéant: 

"C:\Program Files (x86)\WebEx\Productivity Tools";C:\Sybase\IQ-16_0\Bin64;

Les espaces sont donc ignorés et la variable de chemin complet est analysée correctement.

15
wmchrog

% M2% et% Java_HOME% doivent être ajoutés à une variable PATH dans les variables USER, pas les variables SYSTEM.

5
GordyII

S'il y a une erreur du tout dans la fenêtre PATH, elle sera ignorée en silence. Des choses comme avoir% PATH% ou des espaces entre les éléments sur votre chemin vont le casser. Être averti

5
Richard

Cela vaut également la peine de s’assurer que vous utilisez la commande Invite en tant qu’administrateur: le verrouillage du système sur mon ordinateur de travail signifiait que la cmd standard que nous venons de rapporter mvn était introuvable lors de la frappe Mvn --version

Pour utiliser, cliquez sur "Démarrer> Tous les programmes> Accessoires", cliquez avec le bouton droit de la souris sur "Invite de commandes" et sélectionnez "Exécuter en tant qu'administrateur".

4
Daniel Freeman

Si la valeur PATH est trop longue après la concaténation de la variable PATH de votre utilisateur sur la variable d'environnement PATH, Windows ne parvient pas en silence à concaténer la variable PATH utilisateur.

Cela peut facilement se produire après l’installation d’un nouveau logiciel et l’ajout de quelque chose à PATH, ce qui rompt les logiciels déjà installés. Windows échoue!

La meilleure solution consiste à modifier l'une des variables PATH du Panneau de configuration et à supprimer les entrées inutiles. Ouvrez ensuite une nouvelle fenêtre CMD et voyez si toutes les entrées sont affichées dans "echo% PATH%".

3
Anthony Hayward

J'ai eu ce problème dans Windows 10 et il semblait être résolu après avoir fermé "Explorer.exe" dans le Gestionnaire des tâches.

1
xjdeng

Pour résoudre ce problème, j'ai utilisé la commande setx qui tente de définir des variables de niveau utilisateur.

J'ai utilisé ci-dessous ...

setx Java_HOME "C:\Program Files\Java\jdk1.8.0_92"

setx PATH %Java_HOME%\bin

REMARQUE: Windows essaie d'ajouter la valeur de variable fournie à la valeur de variable existante. Donc pas besoin de donner%% PATH% ... quelque chose comme% Java_HOME%\bin;% PATH%

1
Venkateswara Rao

J'ai eu le même problème, je l'ai corrigé en supprimant PATHEXT de la variable utilisateur. Il ne doit exister que dans la variable système avec .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .SJ.; JSE; .WS; .WSH; .MSC

Supprimez également la variable utilisateur à système et incluez ce chemin uniquement dans la variable utilisateur.

1
Thakhani Tharage

Copiez la valeur de path dans le bloc-notes et vérifiez si cela correspond à echo% path% dans la fenêtre du terminal et apportez les modifications nécessaires. Supprimez ensuite l'ancienne valeur du chemin et collez la valeur du bloc-notes dans . Je suppose qu'un caractère invisible saisi par une installation a corrompu la valeur du chemin.

0
kees

Assurez-vous que vos chemins d'accès système et utilisateur sont correctement définis.

0
Nikolay Frick

Dans mon Windows 7. 

// not working for me
D:\php\php-7.2.6-nts\php.exe

// works fine
D:\php\php-7.2.6-nts
0
qskane