2013-04-06 8 views
41

mi sembra di essere sempre la segue quando eseguo npm install bower -gBower: "Command not found" dopo l'installazione

/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 

Purtroppo eseguire qualsiasi della Pergola comandi rendimenti -bash: bower: command not found

which npm rendimenti /usr/local/bin/npm e in esecuzione which node rendimenti /usr/local/bin/node.

risposta

65

Presumo che tu abbia installato Node.js tramite Homebrew, che infastidisce 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 tuo 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 presenta questo problema.

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

+1

LOL My Hero! Grazie. Sì, l'ho installato tramite homebrew. Tutto è una nuova installazione su una nuova macchina e l'homebrew sembra essere il più facile da usare con pacchetti e dipendenze. Sto anche usando i dotfiles di Paul con il file '.extra' nel mio' ~ 'per controllare i percorsi. Nel mio file '.extra' è ora la riga precedente con la linea' export PATH' che hai delineato. '# PATH additions' ' PATH = $ PATH: ~/.rvm/bin # ruby' 'export PATH =/usr/local/bin: $ PATH # locale path' ' PATH export =/usr/local/share/npm/bin: $ PATH # Boom! Funziona ora \ m/' –

+1

Volevo solo aggiungere che ho finito per disinstallare Node.js dall'installazione di Homebrew e installato Node.js dall'installer tramite il sito Web Node.js. Questo mi ha permesso di non dover aggiungere le cose PATH menzionate in precedenza, risultando in un'installazione molto più pulita. –

+6

E volevo solo aggiungere che su Windows 7, dovevo aggiungere C: \ Users \ MyUsername \ AppData \ Roaming \ npm al mio percorso. –

7

So che questa domanda ha ricevuto risposta e molto tempo fa. Ho appena sperimentato lo stesso identico problema per karma e grunt: Si installa 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 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 

documentazione del Grunt spiega perché avete bisogno di questo passo:

Questo metterà il comando grugnito nella vostra percorso di sistema, che consente 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 ha installato accanto a un Gruntfile. Ciò consente a più versioni di Grunt di essere installate contemporaneamente sulla stessa macchina.

A mio parere, questo è più semplice e meno tempo di quanto se ho dovuto disinstallare nodejs

+0

Penso che questo sia l'approccio migliore. Rimanendo con Homebrew è imperativo non dover tenere traccia di tutti i tipi di installatori nel tempo ... – Detro

0

Il mio problema è stato l'/ node/NPM bug Homebrew trovato qui - https://github.com/npm/npm/issues/3794

Se si' ve nodo già installato utilizzando Homebrew, provare:

npm update -gf 

Oppure, se si desidera installare il nodo con Homebrew e avere un lavoro NPM, uso:

1

Se si utilizzava qualcosa di diverso da Homebrew (sì, alcuni di noi in realtà lo facevano strano) -come MacPorts, il tuo $PATH potrebbe essere funky. File binari possono essere situati in altre aree: /opt/local/bin/grunt e possibilmente /opt/local/bin/npm

Inoltre se si utilizza MacPorts installare NPM successivamente installare Bower, non sarà situato il binario in cui ci si aspetterebbe. In realtà finisce nella vostra directory home sotto .npm/lib/node_modules/bower/bin

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

Fonte tuo profilo Bash o aprire una nuova finestra di terminale e dovrebbe sta lavorando

6

Per gli utenti che stanno incontrando problemi con l'installazione di Mac, come illustrato nella pagina ufficiale, sembra che El Capitan sta dando problemi di autorizzazione per installare il pacchetto in questo modo:

npm install bower -g

Il soluzione che ho trovato per evitare gli errori di autorizzazione sta usando sudo (superuser do) per consentire 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. :)

1

aggiungo questo

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

alla fine (e nuova linea) del mio file .bash_profile (che si trova nella cartella utente). Salvarla. chiudi e riapri il terminale

1

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

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

E riavviare terminale o digitare:

source ~/.bash_profile

+0

Questo è l'esempio migliore e dovrebbe essere usato per chiunque abbia installato il nodo con homebrew – myself

3

Se si dispone di un impianto di 'non standard', è necessario trovare la posizione del nodo bin posizione con:

npm config list 

Quindi aggiungere l'ubicazione del nodo al dispositivo ~/.bash_profile

export PATH=<yourNodeBinLocation>:$PATH

Ricordare di riaprire un nuovo terminale per testare, o source ~/.bash_profile

+0

Questa è di gran lunga la migliore risposta in quanto non dipende da una piattaforma specifica –

1

Al settembre 2016, l'installatore .pkg da nodejs.org organizza pacchetti installati essere sotto $HOME/.npm-packages/lib/node-modules, con collegamenti 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 
+1

impressionante! Questa soluzione ha funzionato per me. Sto usando un macOSX – SoftwareDeveloper

0

In CentOS 6,8

vi ~/.zshrc 

aggiungere tre riga 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