Ich hatte dieses Problem nach der Installation von Chocolatey 0.9.8.28. Ich habe die meisten der hier aufgeführten Lösungen ausprobiert, konnte jedoch 'bower -v' in der Powershell-Befehlszeile nicht erkennen. Dies schien ein wenig seltsam, da es bei der Chocolatey-Installation nur um Powershell geht. Schließlich konnte ich erfolgreich sein, indem ich den Pfad so festlegte, dass Powershell die aktualisierten PATH-Variableneinstellungen finden konnte, aber ich brauchte Hilfe, um zu verstehen, warum und wie dies zu tun ist.
Nachdem ich anfänglich mit Powershell versagt hatte, konnte ich zu einer Standard-DOS-Befehlszeile wechseln (nicht durch Verwendung von cmd / c in Powershell) und alle oben beschriebenen Variationen der Pfadeinstellungen erfolgreich ausführen und erfolgreich Bower und die Bower-Befehle erkennen über die DOS-Befehlszeile. Im Cmd-Fenster wurde der vollständig aktualisierte Pfad angezeigt (C: \ ProgramData \ocolatey \ lib \ nodejs.commandline.0.10.34 \ tools). Beachten Sie, dass sich die Versionsnummer möglicherweise von der Liste des ehrenwerten KimchiMan ändert.
Dieser Pfad blieb beim Schließen und Öffnen neuer DOS-Befehlszeilenfenster bestehen, wurde jedoch in keinem Powershell-Fenster (jemals) erkannt.
Dann entdeckte ich die folgende verwandte Diskussion: Festlegen der Powershell-Pfadeinstellungen.
Dies weist darauf hin, dass Powershell beim Start die Version der HKLM-Pfadeinstellungen erkennt. UND es ist möglich, den Pfad entweder in der Sitzung (nicht persistent) oder in der Registrierung (persistent) festzulegen. Das Folgende ist direkt aus dieser Diskussion.
Diese Befehle können den PFAD vorübergehend für eine Powershell-SESSION festlegen:
$env:Path = 'New path'
[System.Environment]::SetEnvironmentVariable('Path', 'New Path', 'Process')
Diese Befehle können den PFAD für alle neuen Powershell-Sitzungen dauerhaft festlegen:
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Session Manager\Environment' -Name 'Path' -Value 'New Path'
[System.Environment]::SetEnvironmentVariable('Path', 'New Path', 'Machine')
Aber ich habe schon früher programmgesteuert Einstellungen für die Registrierung vorgenommen und glaube nicht, dass ein oder zwei Zeilen des PS-Skripts der Aufgabe gewachsen sind. Also habe ich diese Option nicht einmal ausprobiert .
Stattdessen ging ich zur Systemsteuerung / Systemkonsole und änderte den Pfad durch das Dialogfeld Umgebungsvariablen. Ich bemerkte, dass alle Anstrengungen, die ich unternommen hatte, um den Pfad mit set PATH in einer DOS-Befehlszeile zu ändern, während der Windows-Sitzung funktionierten, aber der neue Pfadeintrag für die Umgebungsvariablen / Registrierung nicht beibehalten wurde, obwohl die Dos-Sitzung als ausgeführt wurde Administrator.
Nachdem ich diese Änderung über die Systemsteuerung vorgenommen hatte, wurde der aktualisierte Pfad für die Laube im Werkzeugordner von Chococlatey (und vermutlich für alle nachfolgenden Werkzeuginstallationen) dauerhaft festgelegt, und die Laube war sowohl in der DOS-Befehlszeile als auch in der Powershell-Befehlszeile verfügbar.
hoffe das hilft...