Bower-Befehl Fenster nicht gefunden


107

Ich habe große Probleme beim Versuch, Bower zu verwenden (um Foundation 5 zu installieren) oder irgendetwas zu bekommen, das mit der Arbeit an der Befehlszeile zu tun hat.

Ich habe installiert

  • Rubin 1.9.3
  • git (mit der Option Run from Command Prompt)
  • Nodejs

Ich bin erfolgreich gelaufen

npm install -g bower grunt-cli
gem install foundation

und diese sind gut gelaufen. Ich habe im npm/node_modulesVerzeichnis gesucht und kann dort den bowerOrdner sehen.

Jedes Mal , wenn ich geben Sie bowerentweder in das cmd, ruby cmdoder git bashich

Befehl nicht erkannt

Ich habe den Git-Pfad in den Umgebungsvariablen festgelegt.

Was nervt, ist die Anleitung auf der Laube. Es sagt aus:

npm install -g bower
bower install

Nun, das funktioniert nicht!



Ich habe kürzlich einen Blog-Beitrag darüber geschrieben, wie man mit Bower anfängt. Es ist super einfach und es gibt ein Github-Repo, in dem Sie den Code auschecken können. Vielleicht hilft es Ihnen: thelifelifebalance.com/llb-web-app-series-part-1-bower
cs_stackX

2
Ich war auch eine Weile dabei. Alles wurde eingerichtet, neu gestartet und sogar das Grunzen funktionierte, während Bower auf meinem neuen Windows 8.1-Computer nicht funktionieren würde. Erst als ich in den globalen Ordner npm_modules ging und von dort aus die Laube ausführte, blieb er hängen. Bower arbeitete dann von meinem Projektordner aus. Ich habe neu gestartet und das Problem wurde immer noch behoben ... Seltsame Antwort, ich weiß, aber genau so ist es mir passiert.
user1889992

Antworten:


247

Ich bin auch danach auf dieses Problem gestoßen npm install -g bower. Ich habe das Problem gelöst, indem ich den binären Ordner von npm zu meinem Pfad hinzugefügt habe.

Hier einige hilfreiche Tipps dazu:

  1. Suchen Sie den Speicherort Ihrer globalen npm-Binärdateien : npm config get prefix. Dieser Pfad könnte ungefähr so ​​aussehen C:\Users\username\AppData\Roaming\npm(oder C:\ProgramData\chocolatey\lib\nodejs.commandline.X.XX.XX\toolswenn Sie Chocolatey verwenden ).
  2. Fügen Sie den Pfad von Schritt 1 zu Ihrem Pfad hinzu.

    • Öffnen Sie die Windows-Systemsteuerung, suchen Sie nach environmentund klicken Sie entweder auf edit environment variables for your accountoder bearbeiten Sie die Systemumgebungsvariablen.

    • Suchen Sie die Variable mit dem Namen Pathoder PATHoder erstellen Sie eine, wenn sie nicht vorhanden ist.

    • Fügen Sie hier den Pfad aus Schritt 1 ein (getrennt ;).

    • Möglicherweise müssen Sie das Eingabeaufforderungsfenster neu starten.

  3. Sie sollten nun in der Lage sein, bowerBefehle einzugeben .


1
Für schokoladige Benutzer: C: \ ProgramData \ schokoladig \ lib \ nodejs.commandline.0.10.33 \ tools
KimchiMan

Funktioniert für npm 1.3.2und bower 1.7.9.
Animesh Pandey

In meinem Fall wurde 'C: \ Benutzer \ Benutzername \ AppData \ Roaming \ npm' bereits in umgebungsvariablen Dateien festgelegt. Beim Ausführen des Präfixes 'npm config get' wurde jedoch festgestellt, dass der Pfad .ssh enthält (C: \ Benutzer \ Benutzername \) .ssh \ AppData \ Roaming \ npm), daher wurde das Problem durch Überschreiben in der Umgebungsvariablen behoben.
Monis Iqbal

für / f% a ('npm config get prefix') setze setx path% a
Alex

Nur um andere zu benachrichtigen, funktionierte dies für mich für das gleiche Problem, mit dem ich bei Jenkins über Windows konfrontiert war, im Gegensatz zu den vielen Antworten, die auf Jenkins-bezogene Diagnosen hinwiesen.
Monis Iqbal

19

falls dies hilft.

Ich bin ein npm / bower nooB - aber was in meinem Fall passiert ist, war, dass ich das Angular JS-Tutorial verwendet habe, bei dem bower so eingerichtet zu sein scheint , dass es über npm und NICHT direkt über die Befehlszeile verwendet werden kann.

Hinweis: In meinem Fall ist meine Laubeninstallation durcheinander geraten. Ich habe dies ausgeführt, um meine Laubeninstallation zu reparieren:

npm install -gf bower

Dann habe ich meine Datei bower.json bearbeitet, um sie in eine neue Bibliothek aufzunehmen, die ich verwenden wollte (in meinem Fall Angular-Sanitize).

Ich CD an den Ort meines Projekts

cd myProjectPath

Um Bower auszuführen, habe ich tatsächlich npm install verwendet:

npm install

Dies scheint bower als Knotenpaket auszuführen, das wiederum bower.json scannt und fehlende bower-Pakete installiert.

Fügen Sie npmvor dem Befehl bower Folgendes hinzu, um bower als npm-Paket auszuführen :

npm bower -v

hoffe das hilft,

Sean


1
Wie benutzt man es "via npm"?
Steampowered

Hallo Steampowered - um ehrlich zu sein, es ist schon eine Weile her, seit ich das geschrieben habe. Ich denke, ich meinte, die "normale" Art, Bower auszuführen, ist über die Befehlszeile: Bower, aber im obigen Text habe ich verwendet: npm install
Sean

11

Wenn die oben genannten Lösungen nicht funktionieren. Ich denke, Sie sollten den absoluten Pfad angeben, um die Laube in der Eingabeaufforderung zu verwenden. In meinem App-Ordner rufe ich einfach an

C:\Users\yourusername\AppData\Roaming\npm\bower.cmd install

Dies ist Inhalt in meiner bower.cmd. Es sieht so aus, als ob meine Fenster die Variable ~ dp0 nicht erkennen können.

node  "C:\Users\yourusername\AppData\Roaming\npm\node_modules\bower\bin\bower" %*

Ja, das hat als Laube funktioniert.
Super

Ich habe eine Nachricht erhalten, dass kein bower.json vorhanden ist
hfrog713

2

Dies wird definitiv passieren, wenn Ihre Windows PATH-Variable nahe der 1024-Symbollänge liegt. Neue Links wie "C: \ Benutzer \ Benutzername \ AppData \ Roaming \ npm" passen also einfach nicht dazu.

Überprüfen Sie Ihren PFAD, entfernen Sie zusätzliches Material und versuchen Sie, node.js und bower usw. neu zu installieren. Außerdem gibt es eine Möglichkeit , das Längenlimit von 1024 zu erhöhen


1

Wie bereits erwähnt, müssen Umgebungsvariablen eine Laube hinzufügen. Der einfachste Weg, dies zu finden, besteht darin, zuerst einfach Ihren npm-Speicherort einzugeben und dann die Browse FileLaube auf Ihrem System zu verwenden und zu lokalisieren (Sie können sie auch in der Suchleiste suchen), da die Der Standort kann für verschiedene Benutzer variieren.

Probe in meinem Ende


1

1. Geben Sie windows cmd ein:

for /f %a ('npm config get prefix') do setx path %a

2. Laden Sie cmd neu


0

Gleicher Fehler. Ich habe es mit einer anderen Version von Bower gelöst. Es funktioniert, als ich versuchte, Version 1.2.6 zu verwenden

$ npm install -g bower@1.2.6


0

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...


0

64-Bit deinstalliert und die 32-Bit-Version von nodejs zusammen mit git-32bit installiert hat funktioniert!


0

Hatte das gleiche Problem. Ich habe gerade "npm install -g bower" ausgeführt und dann das Verzeichnis besucht, in das es heruntergeladen wurde. In meinem Fall war der Speicherort "C: \ Benutzer \ Benutzer \ AppData \ Roaming \ npm \ Knotenmodule \ Bower".

Aus dem Verzeichnis lief ich bower, und alles funktionierte gut, auch aus einem anderen Verzeichnis

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.