J'ai eu ce problème après l'installation de Chocolatey 0.9.8.28. J'ai essayé la plupart des solutions répertoriées ici, mais je n'ai pas pu faire reconnaître «bower -v» dans la ligne de commande Powershell. Cela semblait un peu étrange car l'installation de Chocolatey est «tout sur» Powershell. Finalement, j'ai pu réussir en définissant le chemin afin que Powershell puisse trouver les paramètres de variable PATH mis à jour, mais j'avais besoin d'aide pour comprendre pourquoi et comment le faire, ce que je fournis ci-dessous:
Après avoir échoué avec Powershell au départ, j'ai pu accéder à une ligne de commande DOS standard (sans utiliser cmd / c dans PowerShell) et exécuter avec succès toutes les variations de configuration de chemin décrites ci-dessus et avoir réussi à voir les commandes bower et bower reconnues par la ligne de commande DOS. Et la fenêtre cmd a montré le chemin complet mis à jour (C: \ ProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.34 \ tools) - notez que le numéro de version peut changer par rapport à la liste de l'honorable KimchiMan.
Ce PATH a persisté lors de la fermeture et de l'ouverture de nouvelles fenêtres de ligne de commande DOS, mais il n'a (jamais) été reconnu dans aucune fenêtre Powershell.
Ensuite, j'ai découvert la discussion connexe suivante: Définir les paramètres du chemin Powershell.
Cela indique que Powershell reconnaît la version des paramètres de chemin HKLM lors du démarrage. ET il est possible de définir le chemin SOIT DANS la session (non persistante) ou dans le registre (persistant). Ce qui suit est directement issu de cette discussion.
Ces commandes peuvent définir temporairement le PATH pour une SESSION PowerShell:
$env:Path = 'New path'
[System.Environment]::SetEnvironmentVariable('Path', 'New Path', 'Process')
Ces commandes peuvent définir le PATH de manière permanente pour toutes les nouvelles sessions Powershell:
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Session Manager\Environment' -Name 'Path' -Value 'New Path'
[System.Environment]::SetEnvironmentVariable('Path', 'New Path', 'Machine')
Mais j'ai déjà joué avec la configuration des paramètres de registre par programme auparavant et je ne pense pas qu'une ligne ou deux de script PS soit à la hauteur de la tâche. Alors je n'ai même pas essayé cette option.
Au lieu de cela, je suis allé au panneau de configuration / console système et j'ai changé le chemin via la boîte de dialogue Variables d'environnement. J'ai remarqué que tous les efforts que j'avais faits pour changer le chemin avec set PATH dans une ligne de commande DOS avaient fonctionné pendant la session Windows, mais la nouvelle entrée de chemin n'avait pas été conservée dans les variables d'environnement / registre même si la session Dos s'exécutait en tant que administrateur.
Après avoir effectué cette modification via le panneau de configuration, le chemin mis à jour pour bower dans le dossier des outils de Chococlatey (et vraisemblablement toutes les installations d'outils suivantes) ont été définis de manière permanente et bower était disponible à la fois dans la ligne de commande DOS et dans la ligne de commande Powershell.
J'espère que cela t'aides...