2012-03-14 22 views
12
 
[[email protected] websocket_start]# npm ls -g installed 
npm WARN ls doesn't take positional args. Try the 'search' command 
npm WARN [email protected] package.json: bugs['web'] should probably be bugs['url'] 
/usr/lib 
├─┬ [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ └── [email protected] 
└── [email protected] 
[[email protected] websocket_start]# npm ls installed 
npm WARN ls doesn't take positional args. Try the 'search' command 
/home/qonco/workspace/JS/websocket_start 
(empty) 
[[email protected] websocket_start]# node 
> require("websocket-server"); 
Error: Cannot find module 'websocket-server' 
    at Function._resolveFilename (module.js:332:11) 
    at Function._load (module.js:279:25) 
    at Module.require (module.js:354:17) 
    at require (module.js:370:17) 
    at repl:1:1 
    at REPLServer.eval (repl.js:80:21) 
    at repl.js:190:20 
    at REPLServer.eval (repl.js:87:5) 
    at Interface. (repl.js:182:12) 
    at Interface.emit (events.js:67:17) 
> 

risposta

14

Avete installato il modulo con l'opzione -g? penso che non tutti i moduli è destinata ad essere installata a livello globale, invece, provare a installare localmente per il progetto che si sta creando (NPM installazione), e verificare se l'errore persiste.

+0

Grazie! Installo localmente e funziona. Perché è diverso tra localmente e globalmente? Non è che il nodo troverà i moduli sia globalmente che localmente? – Thetsu

+7

Se si desidera solo richiedere ('qualcosa'); è meglio installarlo localmente, in caso contrario, è necessario richiedere ('{prefix} qualcosa'), dove prefisso è il percorso in cui yo averlo installato a livello globale. Dai un'occhiata a questo [post] (http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/), e, come si dice, in genere il regola del pollice è installare le cose a livello locale se si intende utilizzarle nella propria app e globalmente se si intende usarle dalla riga di comando. – Javo

+0

Se si sta eseguendo uno script Node.js, ad es. '~/Bin/my-awesome-script.js', Node.js cercherà il modulo in cartella dello script, non la cartella corrente si esegue lo script. Quindi, in questo caso, assicurati di eseguire il comando 'npm install ...' da '~/bin'. – avernet

54

è stato installato il Go Global modulo al app e provare questo per collegare il globale la cartella dell'applicazione

sudo npm link <MODULeNAME> 
+3

Questo dovrebbe essere la risposta in alto, è un modo molto più conciso/facile di installare a livello locale, e vi permette di avere il modulo installato una volta a livello globale. – Bloodyaugust

+1

facevo 'sudo NPM link' solo e non riusciva a trovare il modulo, anche se dichiarato correttamente nel file' package.json'. L'aggiunta dell'argomento '' l'ha risolto. –

+2

+1. Questo ha funzionato per me ed era davvero una soluzione più pulita. – asiby

Problemi correlati