comando pergola non trovato


158

Ho provato a installare Twitter Bower sul mio Mac e l'ho usato

npm install bower -g

Poi ho provato bower --help, e l'output è stato bower command not found. Perché?


2
Da dove proviene l'output npm install? Ha fallito? Ha installato il pergolato in una posizione non sul tuo PATH?
jches,


Risposte:


365

Proprio come in questa domanda ( npm prefisso percorso globale ) tutto ciò che serve è impostare correttamente npm prefix.

UNIX:

$ npm config set prefix /usr/local
$ npm install -g bower

$ which bower
>> /usr/local/bin/bower

Windows e NVM:

$ npm config set prefix /c/Users/xxxxxxx/AppData/Roaming/nvm/v8.9.2
$ npm install -g bower

Quindi bowerdovrebbe trovarsi solo nel tuo $PATH.


1
Vorrei aggiungere che questa non è la risposta più corretta se lavori con più progetti. Bower dovrebbe essere installato node_moduleslocalmente package.jsone non a livello globale, poiché diversi progetti possono utilizzare versioni diverse (questo è il punto centrale di npm). Il vero problema è che il sistema non è in grado di trovare l'eseguibile del pergolato locale.
Bruno Finger,

@BrunoFinger: quando si installa bower in ambito globale, quella risposta non risolve il problema. Tuttavia, l'utilizzo di pacchetti di nodi locali potrebbe essere un modo migliore di gestire strumenti specifici del progetto.
Petr Joachim,

Penso che se il prefisso npm è impostato su / usr / local, l'installazione di npm -g fallirà senza sudo.
imafish,

Non è consigliabile utilizzare Bower per nuovi progetti. Si prega di considerare filati e webpack o pacchi.
Daniel,

60

Sono quasi sicuro che non lo stai installando correttamente. Dal momento che stai provando a installarlo a livello globale, dovrai eseguirlo con sudo:

sudo npm install -g bower

3
È così che deve essere installato bower, altrimenti sarà appena installato nella cartella in cui è stato eseguito il comando. -g significa globale e crea anche i collegamenti necessari per i moduli che possono essere eseguiti come comandi di sistema, bower, grunt-cli e persino npm ne sono chiari esempi.
Erick Ruiz de Chavez,

Non installare con sudo! Basta usare brew doctor e fare le correzioni suggerite da brew doctor e quindi non dovrai usare sudo!
Djangofan,

4

Questo non si è rivelato un problema di pergolato, anche se si è presentato per me con pergolato.

Sembra essere un nodo - quale problema. Se un file si trova nel percorso, ma ha impostato il bit setuid / setgid, che non lo troverà.

Ecco un file con il bit impostato: (unix 'che' lo troverà senza problemi).

ls -al / usr / local / bin -rwxrwsr-- 110 root nmt 5535636 17 lug 2012 git

Ecco un nodo che tenta:

> which.sync('git')
Error: not found: git

Cambio i permessi (chomd 755 git). Ora nodo, che può trovarlo.

> which.sync('git')
'/usr/local/bin/git'

Spero che questo ti aiuti.


3

Sto usando il gestore versione nodo. Stavo ricevendo questo messaggio di errore perché ero passato a una versione diversa del nodo. Quando sono tornato alla versione del nodo in cui ho installato Bower, questo errore è scomparso. Nel mio caso, il comando eranvm use stable


3

In alternativa, puoi usare quello npxche arriva insieme a npm> 5.6.

npx bower install


1
Questa dovrebbe essere la risposta accettata. Non dovresti mai installare moduli globali con npm.
Chovy,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.