Risposte:
Se si desidera installare un modulo npm a livello globale, assicurarsi di utilizzare il nuovo -g
flag, ad esempio:
npm install forever -g
Le raccomandazioni generali sull'installazione del modulo npm dall'1.0rc (prese da blog.nodejs.org ):
- Se stai installando qualcosa che vuoi usare nel tuo programma, usando request ("qualunque"), quindi installalo localmente , alla radice del tuo progetto.
- Se stai installando qualcosa che vuoi usare nella tua shell, dalla riga di comando o qualcosa, installalo a livello globale , in modo che i suoi binari finiscano nella tua variabile d'ambiente PATH.
Di recente ho usato questi consigli ed è andato abbastanza bene. Ho installato per sempre a livello globale (poiché è uno strumento da riga di comando) e tutti i miei moduli applicativi a livello locale.
Tuttavia, se si desidera utilizzare alcuni moduli a livello globale (ad esempio express o mongodb), seguire questo consiglio (anche preso da blog.nodejs.org ):
Certo, ci sono alcuni casi in cui vuoi fare entrambe le cose. Coffee-script ed Express sono entrambi buoni esempi di app che hanno un'interfaccia a riga di comando, nonché una libreria. In questi casi, è possibile effettuare una delle seguenti operazioni:
- Installalo in entrambi i posti . Seriamente, sei così a corto di spazio su disco? Va bene, davvero. Sono piccoli programmi JavaScript.
- Installalo a livello globale, quindi npm link coffee-script o npm link express (se ti trovi su una piattaforma che supporta i collegamenti simbolici). Quindi devi solo aggiornare la copia globale per aggiornare anche tutti i collegamenti simbolici.
La prima opzione è la migliore secondo me. Semplice, chiaro, esplicito. Il secondo è molto utile se si intende riutilizzare la stessa libreria in diversi progetti. (Maggiori informazioni sul collegamento npm in una puntata futura.)
Non ho testato una di quelle variazioni, ma sembrano essere abbastanza semplici.
npm prefix
per ottenere il prefisso locale e node prefix -g
per vedere il prefisso globale :)
Su un Mac, ho trovato che l'output conteneva le informazioni che stavo cercando:
$> npm install -g karma
...
...
> ws@0.4.25 install /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)
...
$> ls /usr/local/share/npm/bin
karma nf
Dopo aver aggiunto /usr/local/share/npm/bin
alla export PATH
riga nel mio .bash_profile
, salvandolo e source
ing, sono stato in grado di eseguire
$> karma --help
normalmente.
Mi piace usare un file package.json nella radice della cartella dell'app.
Eccone uno che uso
nvm use v0.6.4
npm install
Ho avuto problemi con l'installazione di Express su Ubuntu:
Se per qualche motivo manca il comando NPM, provare il comando npm con npm help
. In caso contrario, attenersi alla seguente procedura: http://arnolog.net/post/8424207595/installing-node-js-npm-express-mongoose-on-ubuntu
Se solo il comando Express non funziona, prova:
sudo npm install -g express
Questo ha fatto funzionare tutto come sono abituato con Windows 7 e OSX.
Spero che questo ti aiuti!
Devi avere i privilegi di superutente,
sudo npm install -g <package name>
In Ubuntu, imposta il percorso di node_modules nel file .bashrc
export PATH = "/ home / nomeutente / node_modules / .bin: $ PATH"
Potresti non avere i permessi di scrittura per installare un modulo nodo nella posizione globale come /usr/local/lib/node_modules
, nel qual caso esegui npm install -g pacchetto come root.