web-dev-qa-db-fra.com

Node.js error Erreur: Impossible de trouver le module 'mongoose'

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)

Je l'ai déjà installé à l'aide de npm install et j'ai essayé de le réinstaller, mais cela n'a pas fonctionné? 

27
Nick Goad

essayez d'installer en utilisant cette commande: 

npm install mongoose

n'utilisez pas le commutateur -g.

BTW: J'ai exécuté l'invite de commande en mode administrateur.

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

41
Prashant Jain

Installer avec l'option --save:

npm install mongoose --save

Cela ajoute de la chair de mangeuse à package.json que Heroku utilise pour créer votre application.

7
Tim Scott

Vous devez appeler en ligne de commande

npm install mongoose

n'oubliez pas d'appeler cette commande depuis le chemin racine de votre projet

6
Angelo Nodari
npm install mongoose

cela fonctionnera et si tout va bien, vous obtiendrez ensuite dans votre terminal 

[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])
4
Gaurav Paliwal

J'ai eu le même problème sur mon Mac et j'ai fait une recherche sous le feu des projecteurs et découvert que Mangouste est installé dans/usr/local/node_modules (quand j'ai exécuté 'npm install mongoose'). Déplacer le dossier mangouste vers ~ (home) node_modules où npm est supposté pour installer réellement résolu mon problème.

2
SheshPai

Si vous avez déjà installé Mangouste globalement (npm install -g Mangouste), faites alors

% npm link mongoose

dans le répertoire du projet. Cela a fonctionné pour moi.

1
hhzhu

npm install crée "node_modules" dans le pwd (répertoire de travail actuel)

au fur et à mesure que votre application grandit, le nombre de modules requis augmente et la meilleure approche consiste à maintenir un package.json (référence: https://stackoverflow.com/a/14226133/832147 ), puis à émettre simplement "npm install "au lieu d'installer chacun.

En tant qu'extension lors du déploiement de votre application sur des plateformes telles que Heroku, vous pouvez ignorer (git ignore) votre immense répertoire node_modules de votre projet. Heroku installe vos modules dépendants en lisant votre package.json

cette approche nous oblige à créer les mêmes modules de noeud requis pour chacun de nos projets basés sur des noeuds, mais c'est correct car nous devons émettre la commande "npm install" une fois par projet

1
user832147

dans le répertoire contenant bot.js, y a-t-il un dossier node_modules contenant un dossier mangouste? Votre serveur Mongodb est-il en cours d'exécution? 

Vous pouvez également le tester en étant dans le répertoire racine du projet, en appelant le noeud (pas d'argument pour ouvrir le REPL) et en essayant d'exiger une mangouste à cet emplacement. 

0
Paul

Ouvrez simplement votre dossier de projet en ligne de commande et exécutez la commande ci-dessous afin que la dépendance mongoose puisse être ajoutée au fichier package.json Je suis sûr à 100% que vous n'obtiendrez plus cette erreur.

$ Sudo npm install --save mangouste

0
Kamlesh

sur les fenêtres si vous le faites 

npm install mongoose

il l'installera par défaut sur votre lecteur C: \

et si vous essayez d’exécuter un fichier * .js à partir de say D:\drive

cela vous donnera la même erreur.

je suppose donc que le répertoire d'installation et le fichier * .js doivent avoir la même racine.

0
jsDebugger

Depuis le doc/blog

En général, la règle de base est la suivante:

Si vous installez quelque chose que vous voulez utiliser dans votre programme, using require ('what' '), puis installez-le localement, à la racine de votre projet.

Si vous installez quelque chose que vous voulez utiliser dans votre Shell, en ligne de commande ou quelque chose du genre, installez-le globalement, donc que ses fichiers binaires se retrouvent dans votre variable d’environnement PATH.

Vous utilisez le système d’exploitation Windows que mongoose ne prend pas en charge. Il ressort de ce message d'erreur:

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
Nikhil Ranjan