2011-12-24 29 views
21
C:\Users\Nick\Desktop\turntablefm\Bots\Super Bot>node bot.js 

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^
Error: Cannot find module 'mongoose' 
    at Function._resolveFilename (module.js:334:11) 
    at Function._load (module.js:279:25) 
    at Module.require (module.js:357:17) 
    at require (module.js:368:17) 
    at Object.<anonymous> (C:\Users\Nick\Desktop\turntablefm\Bots\Super Bot\db.j 
s:1:78) 
    at Module._compile (module.js:432:26) 
    at Object..js (module.js:450:10) 
    at Module.load (module.js:351:31) 
    at Function._load (module.js:310:12) 
    at Module.require (module.js:357:17) 

L'ho già installato utilizzando l'installazione di npm e ho provato a reinstallarlo ma non ha funzionato nessuna idea?Errore Node.js Errore: impossibile trovare il modulo "mangusta"

+0

sentiti libero di contrassegnare la risposta se ti ha aiutato. Cheers –

+0

Ho usato pip per installare mangusta. Ma sto avendo lo stesso problema. Qualcuno mi indica la giusta direzione? – aman

risposta

0

nella directory housing bot.js, c'è una cartella node_modules che contiene una cartella di manguste? Il tuo server mongodb è in esecuzione?

È possibile testarlo anche trovandosi nella directory radice del progetto, chiamando il nodo (senza argomenti, per aprire REPL) e cercando di richiedere manga.

+0

no there isnt ma c'è una cartella node_modules con mangusta in essa è nel posto sbagliato? sul mio altro computer al mio appartamento funziona perfettamente e viene eseguito lo stesso su questo computer ricevendo questo errore –

+0

Se sei sicuro che sia esattamente lo stesso, assicurati che mongodb sia installato correttamente e sia in esecuzione sulla macchina che sta avendo il problema. – Paul

33

provare l'installazione con il comando:

npm install mongoose 

non utilizzare l'opzione -g.

BTW: Ho eseguito il prompt dei comandi in modalità amministratore.

http://prazjain.wordpress.com/2012/04/24/node-js-error-error-cannot-find-module-xyz/

+0

Perché would -g non funziona? – rafaelcosman

+2

Dal [doc] (http: //blog.nodejs.org/2011/03/23/NPM-1-0-global-vs-local-installazione /): In generale, la regola è: Se si sta installando qualcosa che si desidera utilizzare nel vostro programma, usando require ('qualunque'), quindi installarlo localmente, alla radice del progetto. Se si sta installando qualcosa che si desidera utilizzare nella vostra shell, sulla riga di comando o qualcosa, installarlo a livello globale, in modo che i suoi binari finiscono nella variabile d'ambiente PATH. –

2

ho avuto lo stesso problema nel mio Mac e ha fatto una ricerca sotto i riflettori e ha scoperto che mangusta è installato in// local/node_modules usr (quando mi sono imbattuto 'NPM installare mangusta'). Spostando la cartella mangusta in ~ (home) node_modules dove npm è suppostato per installare effettivamente risolto il mio problema.

+0

Yup - stesso qui. I npm l'ho installato su Utenti/Nome sulla mia scatola di Windows e ho ricevuto questo errore. Quando ho spostato node_modules su alcune directory ha funzionato bene. – mattbryanswan

0

Si sta utilizzando il sistema operativo Windows che mangusta non supporta. E 'evidente da questo messaggio di errore:

C:\>npm install mongoose 
npm http GET https://registry.npmjs.org/mongoose/2.5.10 
npm http 304 https://registry.npmjs.org/mongoose/2.5.10 
npm http GET https://registry.npmjs.org/hooks/0.2.0 
npm http GET https://registry.npmjs.org/mongodb/0.9.9-4 
npm http 304 https://registry.npmjs.org/mongodb/0.9.9-4 
npm http 304 https://registry.npmjs.org/hooks/0.2.0 
npm WARN package.json [email protected] No README.md file found! 
npm ERR! notsup Unsupported 
npm ERR! notsup Not compatible with your operating system or architecture: mongo 
[email protected] 
npm ERR! notsup Valid OS: linux,darwin,freebsd 
npm ERR! notsup Valid Arch: any 
npm ERR! notsup Actual OS: win32 
npm ERR! notsup Actual Arch: x64 

npm ERR! System Windows_NT 6.1.7601 
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod 
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "mongoose" 
npm ERR! cwd C:\ 
npm ERR! node -v v0.8.18 
npm ERR! npm -v 1.2.2 
npm ERR! code EBADPLATFORM 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  C:\npm-debug.log 
npm ERR! not ok code 0 
0

su Windows Se non

npm install mongoose 

verrà installato di default sul vostro C: \ Drive

e se si tenta di eseguire un certo * .js file da dire D: \ drive

ti darà lo stesso errore.

quindi suppongo che la directory di installazione e il file * .js abbiano la stessa radice.

6

Dovete chiamare nella riga di comando

npm install mongoose

ricordarsi di chiamare questo comando dal percorso principale del progetto

1

NPM di installazione crea "node_modules" nelle pwd (presenti directory di lavoro)

man mano che l'applicazione cresce, il numero di moduli richiesti aumenta e l'approccio migliore è mantenere un pacchetto.json (referenc e: https://stackoverflow.com/a/14226133/832147) e quindi emettere solo "npm install" invece di installarne uno.

Come estensione durante la distribuzione della tua app su piattaforme come Heroku, puoi ignorare (git ignore) la tua enorme directory node_modules del tuo progetto. Heroku installa i moduli dipendenti leggendo il pacchetto.JSON

questo approccio rende a creare gli stessi moduli di nodi richiesti per ciascuno dei nostri progetti nodo in base, ma va bene come abbiamo bisogno di rilasciare il "NPM installa" comando solo una volta per ogni progetto

0

Dal doc/blog

In general, the rule of thumb is:

If you’re installing something that you want to use in your program, using require('whatever'), then install it locally, at the root of your project.

If you’re installing something that you want to use in your shell, on the command line or something, install it globally, so that its binaries end up in your PATH environment variable.

6

Installare con l'opzione --save:

npm install mongoose --save 

Questo aggiunge mangusta a package.json che Heroku usa per costruire la tua app.

3
npm install mongoose 

che funzionerà e se tutto va bene, allora si otterrà in seguito nel vostro terminale

[email protected] node_modules/mongoose 
├── [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]) 
1

Se hai già installato mangusta a livello globale (NPM installare mangusta-g), poi fare

% npm link mongoose 

nella directory del progetto. Questo ha funzionato per me.

6

È possibile effettuare una delle due cose per farlo funzionare: -

1) Installare mangusta a livello globale con passaggi riportati di seguito: -

a) npm install mongoose -g

b) Vai al tuo app directory, dove bot.js si trova e quindi eseguire

npm link mongoose

Spiegazione: - Quando si installa un pacchetto globalmente tramite npm, viene scaricato nella cartella node_module globale. Per me (utente Mac), è inferiore a /usr/local/lib/node_modules/mangusta. Lo colleghiamo a quella directory da cui provate a eseguire module.js.

2) Un altro approccio è quello di installare mangusta a livello locale, non globale via

npm install mongoose

Dopo aver seguito uno di questi, si sarà visto node_modules -> cartella mangusta sotto le 'bot.js 'directory, che significa che mangusta è stata installata con successo.

Ora, esegui node bot.js, funzionerà.

+0

La spiegazione più chiara, mi ha aiutato a capire. +1! – pr0gma

Problemi correlati