webentwicklung-frage-antwort-db.com.de

Bower: "Befehl nicht gefunden" nach der Installation

Ich scheine folgendes zu bekommen, wenn ich npm install bower -g ausführen

/usr/local/share/npm/bin/bower -> /usr/local/share/npm/lib/node_modules/bower/bin/bower
[email protected] /usr/local/share/npm/lib/node_modules/bower

Wenn Sie einen der Bower-Befehle ausführen, wird leider -bash: bower: command not found zurückgegeben.

which npm gibt /usr/local/bin/npm zurück und laufende which node gibt /usr/local/bin/node zurück.

43
GRAY GHOST

Ich nehme an, Sie haben Node.js über Homebrew installiert, wodurch ärgerlich installierte npm-Binärdateien an einem Ort abgelegt werden, der normalerweise nicht im Pfad eines Benutzers liegt. Alles was Sie tun müssen, ist, /usr/local/share/npm/bin zu Ihrem $ PATH hinzuzufügen. Sie tun dies, indem Sie export PATH=/usr/local/share/npm/bin:$PATH zu Ihrer .bashrc/.bash_profile/.zshrc-Datei hinzufügen.

Ich würde zwar lieber das Homebrew-Installationsprogramm Node.js deinstallieren und es mit dem Installationsprogramm von nodejs.org installieren, das dieses Problem nicht hat.

Dieses Problem ist nicht spezifisch für Bower und kann bei jeder global installierten Node.js-Binärdatei auffallen, z. Grunzen, Verklumpen, Jshint usw.

66
Sindre Sorhus

Für Benutzer, die Probleme mit der Installation in Mac haben, wie auf der offiziellen Seite gezeigt, scheint El Capitan die Berechtigung zu geben, das Paket auf diese Weise zu installieren:

npm install bower -g

Die Lösung , die ich zur Vermeidung von Berechtigungsfehlern gefunden habe, verwendet Sudo (Superuser do), um dem Knoten Zugriff zum Herunterladen des Pakets zu gewähren:

Sudo npm install bower -g

Hoffentlich hilft dies Benutzern, die das gleiche Problem haben. :)

7
Lors

Wenn Sie eine "nicht standardmäßige" Installation haben, müssen Sie die Position des Knotenkörpers mit folgendem Befehl ermitteln:

npm config list

Fügen Sie dann den Knotenplatzplatz zu Ihrem ~/.bash_profile hinzu.

export PATH=<yourNodeBinLocation>:$PATH

Denken Sie daran, ein neues Terminal zu öffnen, oder source ~/.bash_profile

6
Bwyss

Ich weiß, dass diese Frage vor langer Zeit beantwortet und akzeptiert wurde. Ich habe gerade das gleiche Problem für karmaund grunt erlebt: Sie installieren die Bibliothek, aber aufgrund von Homebrew enthüllen die global installierten Pakete "Grunt", "Karma", "Bower" oder was auch immer.

Obwohl die Methode von Sindre Sorhus funktioniert, finde ich es zu umständlich, Homebrew/nodejs zu deinstallieren und neu zu installieren.

Stattdessen habe ich verwendet

npm install -g grunt-bower-cli

und dasselbe für die anderen:

npm install -g grunt-cli
npm install -g karma-cli

Die Dokumentation von Grunt erklärt, warum Sie diesen Schritt benötigen:

Dadurch wird der Grunt-Befehl in Ihren Systempfad eingefügt, sodass er .__ sein kann. aus einem beliebigen Verzeichnis ausführen.

Beachten Sie, dass bei der Installation von grunt-cli der Grunt-Task-Runner! .__ nicht installiert wird. Die Aufgabe der Grunt-CLI ist einfach: Führen Sie die Version von Grunt mit .__ aus. wurde neben einem Gruntfile installiert. Dies ermöglicht mehrere Versionen von Grunt muss gleichzeitig auf derselben Maschine installiert sein.

Meiner Meinung nach ist dies einfacher und weniger zeitaufwendig, als wenn ich nodejs deinstallieren müsste

6

Fügen Sie unter Mac OS X die nächste Zeile in Ihr ~/.bash_profile ein 

export PATH="$HOME/.node/lib/node_modules/bower/bin:$PATH"

Und starten Sie das Terminal neu oder geben Sie Folgendes ein: 

source ~/.bash_profile

2
Anatolii Pazhyn

Wenn Sie etwas anderes als Homebrew verwendet haben (ja, einige von uns machten es tatsächlich komisch) - wie MacPorts könnte Ihr $PATH funky sein. Binärdateien können sich in anderen Bereichen befinden: /opt/local/bin/grunt und möglicherweise /opt/local/bin/npm

Wenn Sie npm über MacPorts installieren und anschließend bower installieren, befindet sich die Binärdatei nicht dort, wo Sie es erwarten würden. Es endet tatsächlich in Ihrem Home-Verzeichnis unter .npm/lib/node_modules/bower/bin

Ihr $PATH sollte in ~/.profile (Mac OS X) angepasst werden, um Folgendes hinzuzufügen: $HOME/.npm/lib/node_modules/bower/bin

Geben Sie Ihr Bash-Profil ein oder öffnen Sie ein neues Terminalfenster, und es sollte funktionieren.

1
Glenn Batuyong

Mit dem .pkg-Installationsprogramm aus nodejs.org sind ab September 2016 installierte Pakete unter $HOME/.npm-packages/lib/node-modules angeordnet, mit symbolischen Links in ~/.npm-packages/bin:

$ bower install
-bash: bower: command not found
$ which bower
$ export PATH=$PATH:~/.npm-packages/bin
$ which bower
/Users/dmoles/.npm-packages/bin/bower
1
David Moles

ich füge das hinzu 

export PATH=$HOME/.node/bin:$PATH

am Ende (und der neuen Zeile) meiner .bash_profile-Datei (im Benutzerordner). Speichern Sie es. Terminal schließen und wieder öffnen

1
Valix85

In Centos 6,8

vi ~/.zshrc 

füge drei Reihen hinzu

export PATH=$HOME/bin:/usr/local/bin:$PATH
export PATH=/usr/bin:/bin:/usr/sbin:/sbin:$PATH
export PATH=/usr/local/share/npm/bin:$PATH

und dann

exec /bin/zsh 

oder

exec /usr/bin/zsh

arbeite einfach

0
Jeremy

Mein Problem war der Homebrew/node/npm Bug, der hier gefunden wurde - https://github.com/npm/npm/issues/3794

Wenn Sie bereits einen Knoten mit Homebrew installiert haben, versuchen Sie Folgendes:

npm update -gf

Wenn Sie node mit Homebrew installieren möchten und npm funktionieren, verwenden Sie:

brew install node --without-npm
curl -L https://npmjs.org/install.sh | sh
0
YPCrumble

Wenn all dies nicht funktioniert oder Sie die Antworten auf die Frage nicht zu verstehen scheinen.

Ich schlage vor, dass Sie die Installationsbefehle auf Ihrem Systembefehl Prompt ausführen und nicht auf git-bash, insbesondere wenn Sie Windows 8 oder 7 verwenden.

0
sapphire