2013-04-06 22 views
41

scheine ich folgendes zu bekommen, wenn ich npm install bower -gBower: „Befehl nicht gefunden“ nach der Installation

/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 
ausführen

Leider Befehle kehrt eine der Bower Ausführung -bash: bower: command not found

which npm kehrt /usr/local/bin/npm und läuft which node Renditen /usr/local/bin/node.

Antwort

65

Ich nehme an, dass Sie Node.js über Homebrew installiert haben, was lästig installierte npm-Binärdateien an einem Ort platziert, der normalerweise nicht in einem Benutzerpfad ist. Alles, was Sie tun müssen, ist /usr/local/share/npm/bin zu Ihrem $ PATH hinzufügen. Sie tun das, indem Sie export PATH=/usr/local/share/npm/bin:$PATH zu Ihrer .bashrc/.bash_profile/.zshrc Datei hinzufügen.

Obwohl ich lieber die Homebrew installierte Node.js deinstallieren und installieren Sie es mit dem Installer von nodejs.org, die dieses Problem nicht hat.

Dieses Problem ist nicht Bower spezifisch und wird mit jeder global installierten Node.js Binärdatei, z. Grunt, hässlich, jshint, etc.

+1

LOL meinen Helden arbeiten! Vielen Dank. Ja, ich habe es durch Homebrew installiert. Alles ist eine neue Installation auf einer neuen Maschine und Homebrew schien am einfachsten zu sein mit Paketen und Abhängigkeiten. Ich benutze auch Pauls dotfiles mit der '.extra' Datei in meinem' ~ 'um Pfade zu steuern. In meiner '.extra'-Datei befindet sich jetzt die Zeile oben mit der von dir umrissenen 'export PATH'-Zeile. '# PATH additions' ' PATH = $ PATH: ~/.rvm/bin # ruby' 'export PATH =/usr/local/bin: $ PATH # local path' ' export PATH =/usr/local/share/npm/bin: $ PATH # Boom! Funktioniert jetzt \ m/' –

+1

Ich wollte nur hinzufügen, dass ich am Ende Node.js von der Homebrew-Installation deinstalliert und Node.js vom Installer über die Node.js-Website installiert habe. Dies ermöglichte es mir, das oben erwähnte PFAD-Zeug nicht hinzuzufügen, was zu einer viel saubereren Installation führte. –

+6

Und ich wollte nur hinzufügen, dass ich unter Windows 7 C: \ Users \ MyUsername \ AppData \ Roaming \ npm zu meinem Pfad hinzufügen musste. –

7

Ich weiß, dass diese Frage vor langer Zeit beantwortet und akzeptiert wurde. Ich habe genau das gleiche Problem für karma und grunt erfahren: Sie installieren die Bibliothek, aber wegen Homebrew, die global installierten Pakete nicht "Grunzen", "Karma", "Bower", was auch immer.

Auch wenn die Methode von Sindre Sorhus funktioniert, finde ich es zu mühsam, homebrew/nodejs zu deinstallieren und neu zu installieren.

Stattdessen benutzte ich

npm install -g grunt-bower-cli 

und gleiche gilt für die anderen:

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

Grunt in der Dokumentation erklärt, warum Sie diesen Schritt benötigen:

Dies wird den Grunzen Befehl setzen in Ihrem Systempfad, so dass es von jedem Verzeichnis ausgeführt werden kann.

Beachten Sie, dass die Installation von grunt-cli den Grunt-Task-Runner nicht installiert! Die Aufgabe der Grunt CLI ist einfach: Führen Sie die Version von Grunt aus, die neben einer Gruntfile installiert hat. Dadurch können mehrere Versionen von Grunt gleichzeitig auf derselben Maschine installiert werden.

Meiner Meinung nach ist dies einfacher und weniger zeitaufwendig, als wenn ich NodeJS

+0

Ich denke, das ist der beste Ansatz. Bei Homebrew ist es wichtig, dass Sie nicht alle Installateure im Zeitverlauf verfolgen müssen ... – Detro

0

Mein Problem deinstallieren musste, war die Homebrew/node/npm Fehler hier gefunden - https://github.com/npm/npm/issues/3794

Wenn Sie‘ ve bereits installierten Knoten Homebrew verwenden, versuchen Sie:

npm update -gf 

Oder, wenn Sie Knoten mit Homebrew installieren möchten, und npm Arbeit haben, zu verwenden:

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

Wenn Sie etwas anderes als Homebrew verwendet haben (ja, einige von uns haben es tatsächlich komisch gemacht) - wie MacPorts, könnte Ihr $PATH funky sein. /opt/local/bin/grunt und möglicherweise /opt/local/bin/npm

Zusätzlich, wenn Sie MacPorts verwenden npm installieren dann Bower anschließend installieren, die Binärdatei wird nicht lokalisiert werden, wo man es erwarten würde: Binaries können in anderen Bereichen befinden. Es endet tatsächlich in Ihrem Home-Verzeichnis oben unter .npm/lib/node_modules/bower/bin

Ihre $PATH sollte hinzufügen in ~/.profile (Mac OS X) angepasst werden: $HOME/.npm/lib/node_modules/bower/bin

Quelle Ihrer Bash Profil oder ein neues Terminal-Fenster öffnen und es soll arbeite.

6

Für Anwender, die in der offiziellen Seite, wie gezeigt Probleme mit der Installation in Mac stoßen, scheint es, dass El Capitan Berechtigungsprobleme gibt das Paket auf diese Weise zu installieren:

npm install bower -g

Die Lösung ich gefunden habe, die Erlaubnis Fehler zu vermeiden, ist mit sudo (Super-User tun) Zugang für den Knoten zu schaffen, das Paket wie folgt herunterladen:

sudo npm install bower -g

Hoffentlich kann dies Benutzern helfen, das gleiche Problem zu haben. :)

1

i hinzufügen, um diesen

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

am Ende (und neue Zeile) meine .bash_profile-Datei (im Benutzerordner befindet). Speichere es. Schließen und öffnen Sie das Terminal erneut

1

In Mac OS X fügen Sie die nächste Zeile in Ihrem ~ /.bash_profile

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

und neu starten Terminal oder Typ:

source ~/.bash_profile

+0

Dies ist das beste Beispiel und sollte für jeden verwendet werden, der Knoten mit Homebrew installiert – myself

3

Wenn Sie einen 'Nicht-Standard' installiert haben, müssen Sie den Knoten Lagerplatz Lage zu finden, mit:

npm config list 

Dann fügen Sie den Knoten bin Standort zu Ihrem ~/.bash_profile

012 hinzu

export PATH=<yourNodeBinLocation>:$PATH

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

+0

Dies ist bei weitem die beste Antwort, da dies nicht der Fall ist abhängig von einer bestimmten Plattform –

1

Ab September 2016, das PKG-Installationsprogramm von nodejs.org arrangiert für installierte Pakete unter $HOME/.npm-packages/lib/node-modules zu sein, mit Symlinks 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

genial! Diese Lösung hat für mich funktioniert. Ich benutze ein macOSX – SoftwareDeveloper

0

In centOS 6,8

vi ~/.zshrc 

hinzufügen drei Zeilen unterhalb

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 

nur

Verwandte Themen