Bower: “comando non trovato” dopo l’installazione

Mi sembra di ottenere quanto segue quando npm install bower -g

 /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 

Sfortunatamente l’esecuzione di uno qualsiasi dei comandi del bower restituisce -bash: bower: command not found

which npm restituisce /usr/local/bin/npm ed esegue which node restituisce /usr/local/bin/node .

Presumo che tu abbia installato Node.js tramite Homebrew, che infastidisce in modo fastidioso i binari npm installati in un posto che di solito non si trova in un percorso degli utenti. Tutto quello che devi fare è aggiungere /usr/local/share/npm/bin al tuo $ PATH. Lo fai aggiungendo export PATH=/usr/local/share/npm/bin:$PATH al file .bashrc / .bash_profile / .zshrc.

Anche se preferirei disinstallare il Node.js installato in Homebrew e installarlo con il programma di installazione da nodejs.org che non ha questo problema.

Questo problema non è specifico di Bower e sarà visibile con qualsiasi binario Node.js installato globalmente, ad es. grugnito, uglify, jshint, ecc.

Per gli utenti che riscontrano problemi con l’installazione in mac come mostrato nella pagina ufficiale, sembra che El Capitan stia dando problemi di authorization per installare il pacchetto in questo modo:

npm install bower -g

La soluzione che ho trovato per evitare gli errori di authorization sta usando sudo (superuser do) per fornire l’accesso per il nodo per scaricare il pacchetto in questo modo:

sudo npm install bower -g

Speriamo che questo possa aiutare gli utenti ad avere lo stesso problema. 🙂

So che questa domanda è stata esaudita e accettata molto tempo fa. Ho appena sperimentato lo stesso identico problema per karma e grunt : installate la libreria, ma a causa di Homebrew, i pacchetti installati a livello globale non espongono “grunt”, “karma”, “bower”, qualsiasi cosa.

Anche se il metodo di Sindre Sorhus funziona, trovo che sia troppo difficile disinstallare homebrew / nodejs e reinstallarlo.

Invece ho usato

 npm install -g grunt-bower-cli 

e lo stesso per gli altri:

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

La documentazione di Grunt spiega perché hai bisogno di questo passaggio:

Questo metterà il comando grunt nel tuo percorso di sistema, permettendogli di essere eseguito da qualsiasi directory.

Si noti che l’installazione di grunt-cli non installa il task run Grunt! Il lavoro di Grunt CLI è semplice: esegui la versione di Grunt che è stata installata accanto a un Gruntfile. Ciò consente a più versioni di Grunt di essere installate contemporaneamente sulla stessa macchina.

Secondo me, questo è più semplice e meno dispendioso in termini di tempo rispetto a quando dovessi disinstallare nodejs

Se si dispone di un’installazione “non standard”, è necessario trovare la posizione del percorso del nodo con:

 npm config list 

Quindi aggiungi la posizione bin del nodo al tuo ~/.bash_profile

export PATH=:$PATH

Ricordati di aprire un nuovo terminale da testare o di source ~/.bash_profile

In Mac OS X aggiungi la riga successiva nel tuo ~ / .bash_profile

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

E riavvia il terminale o digita:

source ~/.bash_profile

Se hai usato qualcosa di diverso da Homebrew (sì, alcuni di noi lo hanno fatto in modo strano), come MacPorts, il tuo $PATH potrebbe essere funky. I file binari possono trovarsi in altre aree: /opt/local/bin/grunt e possibilmente /opt/local/bin/npm

Inoltre, se si utilizza MacPorts per installare npm, quindi installare bower, il binario non si troverà dove ci si aspetterebbe. In realtà finisce nella directory home sotto .npm/lib/node_modules/bower/bin

Il tuo $PATH dovrebbe essere regolato in ~ / .profile (Mac OS X) per aggiungere: $HOME/.npm/lib/node_modules/bower/bin

Crea il tuo profilo Bash o apri una nuova finestra di terminale e dovrebbe funzionare.

lo aggiungo

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

alla fine (e alla nuova riga) del mio file .bash_profile (che si trova nella cartella dell’utente). Salvarla. chiudere e riaprire il terminale

A partire da settembre 2016, il programma di installazione .pkg di nodejs.org ordina che i pacchetti installati siano in $HOME/.npm-packages/lib/node-modules , con ~/.npm-packages/bin simbolici 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 

Il mio problema era il bug di Homebrew / node / npm trovato qui – https://github.com/npm/npm/issues/3794

Se hai già installato il nodo utilizzando Homebrew, prova:

 npm update -gf 

Oppure, se vuoi installare il nodo con Homebrew e avere lavoro su npm, usa:

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

In centos 6.8

 vi ~/.zshrc 

aggiungi tre righe sotto

 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 

e poi

 exec /bin/zsh 

o

 exec /usr/bin/zsh 

solo lavoro

Se tutto quanto sopra non funziona, o non sembra comprendere le risposte fornite alla domanda.

Ti suggerisco di eseguire i comandi di installazione sul prompt dei comandi del sistema e non su git-bash, specialmente se sei su Windows 8 o 7.