Mongoose: Erreur : Impossible de trouver le module 'mongodb/node_modules/bson'

Créé le 26 févr. 2015  ·  38Commentaires  ·  Source: Automattic/mongoose

J'ai cette erreur depuis que j'ai commencé à développer avec Mongoose il y a 1,5 ans.

L'erreur n'a jamais complètement disparu, elle revient après chaque npm update

Cette erreur a été un ami et un ennui le long de la route qui se développe avec MEANB.

Existe-t-il des plans pour enfin éliminer cette erreur ou continuera-t-elle à ennuyer la communauté des développeurs jusqu'à la fin de tous les temps :) ?

Commentaire le plus utile

J'ai dû installer npm dans node_modules/mongodb.

Merci pour l'aide!

Tous les 38 commentaires

Travaux:

npm install node-gyp -g
npm cache clean
rm -rf node_modules
npm install

Peut-être que cela devrait aller dans les documents d'installation officiels?

_tl;dr_

npm install node-gyp -g && npm cache clean && rm -rf node_modules && npm install

Quelqu'un peut-il en dire plus? J'ai ce problème sur les instances Mac et Linux. Merci.

PS
J'ai dû définir une version spécifique de mongodb dans mon package json :

"mongodb": "1.4.9"

Cela m'a également mordu aujourd'hui en déployant une application de mangouste sur Heroku. Il semble que Heroku installait la mangouste 4.X alors que j'avais encore 3.X localement. Heroku recevait cette erreur au démarrage et pas moi. Une fois que j'ai fait la "mise à jour npm" vers la mangouste 4.X, cela a également commencé à se produire localement. J'ai reculé vers 3.X localement et sur Heroku et maintenant les choses fonctionnent à nouveau.

J'ai rencontré exactement le même problème que RationalGeek sur une application Heroku 100% nouvelle. +1 pour une meilleure solution que de faire reculer la mangouste

Quel est le message d'erreur exact, avec trace de pile de préférence ?

Merci d'avoir examiné cela, Valeri.

Étapes à reproduire

1.) "rm -rf node_modules" dans le répertoire principal de notre propre projet
2.) "nettoyage du cache npm"
3.) "npm install" contre ce packages.json : https://gist.github.com/nottinhill/5a25afb3e3700b79ba1e
4.) L'erreur est levée. (voir ci-dessous l'essentiel)

Suivi de la pile et message d'erreur

https://gist.github.com/nottinhill/9851d558092f9d0149e3

solution de contournement

1.) "npm install -g node-gyp"
2.) cd dans le répertoire "mongoose/**/mongodb-core" et tirez bson comme ceci : https://gist.github.com/nottinhill/6ac075b606dea054c053

Sous Linux :

sudo apt-get update
sudo apt-get install build-essential

Sous OSX :

xcode-select --install

..alors:

npm install -g node-gyp 
cd /to/you/project
rm -rf node_modules
npm install

Fonctionne comme un charme.

J'ai dû installer npm dans node_modules/mongodb.

Merci pour l'aide!

@nottinhill Merci pour votre aide.

Cela fonctionne bien maintenant. ne me donne pas d'erreur.

Merci
Gaurav

@ vkarpov15 Cela me donne à nouveau une erreur. Veuillez rouvrir ce problème.

Merci
Gaurav

Quelle version utilisez-vous @gbansal7 ?

Ça m'a frappé aujourd'hui.

@Kuzirashi quelle version de mangouste ?

3.8.0, je l'ai corrigé avec la suggestion de @BradZzz pour :

J'ai dû installer npm dans node_modules/mongodb.

Cela peut aider. Vous pouvez également essayer de passer à une version plus récente :)

J'ai peur de casser mon projet. Je suis content que 3.8 fonctionne. :)

Si ça marche, c'est bon. Les futures corrections de bugs nécessiteront cependant une mise à niveau vers des versions supérieures de 3.8.x :)

J'ai toujours un problème avec cela sur Windows, en utilisant et npm3.
Je suis sur la dernière version de mangouste (4.2.6)
Le seul moyen que j'ai trouvé est de npm installer dans le dossier mongoose, puis npm installer dans le dossier mongoose/node_modules/mongodb

@adrianw pouvez-vous vérifier votre version de mangouste et me montrer le résultat que vous obtenez lorsque vous l'exécutez ? Il ne devrait pas être possible pour vous d'obtenir cette erreur avec 4.2.6, étant donné que cette instruction require particulière n'est pas dans 4.2.6.

@ vkarpov15 J'utilisais définitivement la 4.2.6, j'ai creusé un peu plus après votre réponse et j'ai découvert qu'elle était en fait déclenchée en utilisant l'extension/le plugin 'mongoose-3x-types' que j'ai maintenant supprimée de mon projet et tout est tout simplement parfait à nouveau. Donc, si quelqu'un d'autre a encore des problèmes, cela vaut la peine de vérifier les plugins

J'ai vu cela avec la v3.9.7, mais revenir à la v3.8.12 a semblé fonctionner pour le moment. Utilisation du dernier NPM et du dernier nœud 4.2.4.

N'utilisez pas 3.9.7. C'est obsolète dans npm pour une raison : c'était une version de développement instable à l'époque où mongoose utilisait la numérotation de version du noyau Linux plutôt que semver. Utilisez 3.8.x ou 4.x.

npm installer [email protected]

@dhirender-tyagi à quoi ce commentaire fait-il référence ?

Merci @nottinhill , @nikola-kanacki - cela a résolu mon problème (Erreur : impossible de trouver le module './db.json'
à Function.Module._resolveFilename (module.js:336:15)
à Function.Module._load (module.js:278:25)
à Module.require (module.js:365:17)
au besoin (module.js:384:17) )

J'ai fait ça:
npm install -g node-gyp
cd /vers/votre/dossier-projet
rm -rf modules_noeuds
npm installer

C'est toujours un bogue dans comme toutes les foutues versions de ce paquet, vous ne pouvez pas l'utiliser avec Node 6.x, vous ne pouvez utiliser aucune version antérieure à 4.x sans qu'elle se brise et affiche cette erreur, que se passe-t-il ici? Pourquoi n'y a-t-il pas de notes Lisez-moi documentées ?

λ ~/Public/MyProject/ staging* node-gyp rebuild                                                                                                                         ∞
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp info spawn /usr/bin/python
gyp info spawn args [ '/Users/nexus/.nvm/versions/node/v5.10.1/lib/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/nexus/Public/MyProject/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/nexus/.nvm/versions/node/v5.10.1/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/nexus/.node-gyp/5.10.1/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/nexus/.node-gyp/5.10.1',
gyp info spawn args   '-Dnode_gyp_dir=/Users/nexus/.nvm/versions/node/v5.10.1/lib/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/nexus/Public/MyProject',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp: binding.gyp not found (cwd: /Users/nexus/Public/MyProject) while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/Users/nexus/.nvm/versions/node/v5.10.1/lib/node_modules/node-gyp/lib/configure.js:305:16)
gyp ERR! stack     at emitTwo (events.js:100:13)
gyp ERR! stack     at ChildProcess.emit (events.js:185:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)
gyp ERR! System Darwin 15.5.0
gyp ERR! command "/Users/nexus/.nvm/versions/node/v5.10.1/bin/node" "/Users/nexus/.nvm/versions/node/v5.10.1/bin/node-gyp" "rebuild"
gyp ERR! cwd /Users/nexus/Public/MyProject
gyp ERR! node -v v5.10.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok

Salut les gars, juste un avertissement car j'avais tous ces problèmes et rien ne semblait fonctionner. Je suis sûr que vous avez probablement tous lu la documentation, mais je ne l'ai pas fait et j'ai raté la partie où vous ne devriez pas inclure node_modules dans votre push git vers l'application heroku.

Ce doc m'a sauvé

https://devcenter.heroku.com/articles/troubleshooting-node-deploys

Eh bien, c'est assez évident. :) Même alors, ce problème est ultra ennuyeux. Je ne vois pas comment un package comme mongoose, qui est utilisé par des milliers et des milliers de développeurs et de projets, et soutenu par Automattic, ne peut pas régler cette merde. S'il y a des exigences strictes pour les versions, alors METTRE-LE DANS LA DOCUMENTATION DE MERDE SUR LA TOUTE PREMIÈRE PAGE .

Une recherche Google dans ce numéro trouve environ 5 pages de résultats de personnes posant la même foutue question ! Et il n'y a pas de réponse définitive !!!

La mise à niveau vers la dernière version de Mongoose et MongoDB a fonctionné pour moi. Bien qu'il ait fallu un certain temps pour passer en revue tous les changements de Mongoose dans 4.x par rapport à 3.x !

Y a-t-il beaucoup de changements de rupture ? La chose merde est que ma dépendance à la mangouste est intégrée dans Keystone js, donc je ne peux pas facilement modifier cette version.

J'ai ce problème avec le nœud 6.5.x , la mangouste 4.4.x exécutant Ubuntu 16, en passant au nœud 4.x cela fonctionne. Question à vous les gars, maintenant que le nœud 6 sera le nouveau LTS, cela fonctionnera-t-il? Cela semble un énorme bloqueur s'il n'est pas corrigé

@molekilla as-tu essayé rm -rf node_modules && npm install ? Et oui, la mangouste fonctionne très bien dans le nœud v6.

Salut.
Remplacez par mongoose 4.2.9 dans votre package.json . ça marche pour moi.

je le répare avec le commentaire de

Je reçois le problème ci-dessous,
0 info ça a fonctionné si ça se termine par ok
1 cli verbeux [ 'C:\Program Files\nodejs\node.exe',
1 cli verbeux 'D:\Users\e849278\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js',
1 cli verbeux 'start' ]
2 informations en utilisant [email protected]
3 informations en utilisant [email protected]
4 script d'exécution verbeux [ 'prestart', 'start', 'poststart' ]
5 info cycle de vie [email protected] ~prestart: [email protected]
6 info cycle de vie [email protected] ~début: [email protected]
7 cycle de vie verbeux [email protected] ~start: unsafe-perm in lifecycle true
8 cycle de vie verbeux [email protected] ~start : PATH : D:Users\e849278\AppData\Roaming\npm\node_modules\npm\bin\node-gyp-bin;d:\nodejs\passport-social\node_modules. bin;C:\Program Files (x86)\Google\Chrome\Application;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\IBM\RationalSDLC\common;C:\windows\system32; C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\IBM\RationalSDLC\ClearCase\bin;D:Users\e849278 .dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Common Files\ThinPrint\;C:\Program Files (x86)\Git\ cmd;C:\Program Files (x86)\GitExtensions\;C:\Program Files\1E\NomadBranch\;C:\Program Files\nodejs\;C:\Ruby24-x64\bin;D:Users\e849278.dnx \runtimes\dnx-clr-win-x86.1.0.0-rc1-update1\bin;D:Users\e849278.dnx\bin;C:\Git\cmd;D:Users\e849278\AppData\Roaming\npm; C:\Program Files\CMake\bin;C:\Program Files\McAfee\DLP\Agent\
9 cycle de vie verbeux [email protected] ~start: CWD: d:\nodejs\passport-social
10 cycle de vie stupide [email protected] ~start: Args: [ '/d /s /c', 'node ./bin/www' ]
11 cycle de vie idiot [email protected] ~début : Renvoyé : code : 1 signal : null
12 info lifecycle [email protected] ~start : échec de l'exécution du script de démarrage
13 Erreur de pile verbeuse : [email protected] début : node ./bin/www
13 pile verbeuse État de sortie 1
13 pile verbeuse à EventEmitter.(D:Users\e849278\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:280:16)
13 pile verbeuse à l'emitTwo (events.js:126:13)
13 pile verbeuse à EventEmitter.emit (events.js:214:7)
13 pile verbeuse à ChildProcess.(D:Users\e849278\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 pile verbeuse à l'emitTwo (events.js:126:13)
13 pile verbeuse à ChildProcess.emit (events.js:214:7)
13 pile verbeuse à peut-êtreClose (internal/child_process.js:925:16)
13 pile verbeuse à Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 pkgid verbeux [email protected]
15 cwd verbeux d:\nodejs\passport-social
16 verbeux Windows_NT 6.1.7601
17 verbeux argv "C:\Program Files\nodejs\node.exe" "D:\Users\e849278\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js" "start"
18 nœud verbeux v8.9.3
19 npm verbeux v5.5.1
20 code d'erreur ELIFECYCLE
21 erreur errno 1
22 erreur [email protected] début : node ./bin/www
22 erreur Sortie état 1
23 error Échec du script de démarrage de [email protected] .
23 error Ce n'est probablement pas un problème avec npm. Il y a probablement une sortie de journalisation supplémentaire ci-dessus.
24 sortie verbeuse [ 1, vrai ]

@kalburgimanjunath Je ne vois de mangouste nulle part dans votre trace de pile, pourquoi est-ce lié à la mangouste ?

@ parth0595 cela a aussi fonctionné pour moi. Merci

Cette page vous a été utile?
0 / 5 - 0 notes