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.
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.
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. :)
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
Ich weiß, dass diese Frage vor langer Zeit beantwortet und akzeptiert wurde. Ich habe gerade das gleiche Problem für karma
und 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
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
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.
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
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
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
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
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.