Mongoose: Fehler: Kann Modul 'mongodb/node_modules/bson' nicht finden

Erstellt am 26. Feb. 2015  ·  38Kommentare  ·  Quelle: Automattic/mongoose

Ich habe diesen Fehler, seit ich vor 1,5 Jahren angefangen habe, mit Mongoose zu entwickeln.

Der Fehler ist nie ganz verschwunden, er kommt nach jedem npm update

Dieser Fehler war ein Freund und Ärgernis neben der Entwicklung mit MEANB.

Gibt es Pläne, diesen Fehler endlich loszuwerden oder wird er die Entwickler-Community bis zum Ende aller Zeiten ärgern :)?

Hilfreichster Kommentar

Musste npm in node_modules/mongodb installieren.

Danke für die Hilfe!

Alle 38 Kommentare

Funktioniert:

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

Vielleicht sollte dies in die offiziellen Installationsdokumente aufgenommen werden?

_tl;dr_

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

Kann das jemand näher erläutern? Ich habe dieses Problem sowohl auf Mac- als auch auf Linux-Instanzen. Vielen Dank.

PS
Ich musste eine bestimmte Version von mongodb in meinem Paket json festlegen:

"mongodb": "1.4.9"

Das hat mich heute auch gebissen, als ich eine Mungo-App für Heroku bereitgestellt habe. Es scheint, dass Heroku den Mungo 4.X installiert hat, während ich noch 3.X lokal hatte. Heroku bekam diesen Fehler beim Start und ich nicht. Nachdem ich ein 'npm-Update' auf Mungo 4.X durchgeführt hatte, begann es auch lokal. Ich habe auf 3.X lokal und auf Heroku zurückgesetzt und jetzt funktionieren die Dinge wieder.

Ich bin auf genau das gleiche Problem wie RationalGeek bei einer 100% frischen Heroku-App gestoßen. +1 für eine bessere Lösung als das Zurückrollen von Mungos

Wie lautet die genaue Fehlermeldung, vorzugsweise mit Stack-Trace?

Danke, dass Sie sich das angeschaut haben, Valeri.

Schritte zum Reproduzieren

1.) "rm -rf node_modules" im Hauptverzeichnis unseres eigenen Projekts
2.) "npm-Cache bereinigen"
3.) "npm install" gegen diese package.json: https://gist.github.com/nottinhill/5a25afb3e3700b79ba1e
4.) Fehler wird geworfen. (siehe unten)

Stack-Trace und Fehlermeldung

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

Problemumgehung

1.) "npm install -g node-gyp"
2.) cd in das Verzeichnis "mongoose/**/mongodb-core" und ziehe bson wie folgt ein: https://gist.github.com/nottinhill/6ac075b606dea054c053

Unter Linux:

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

Unter OSX:

xcode-select --install

..dann:

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

Klappt wunderbar.

Musste npm in node_modules/mongodb installieren.

Danke für die Hilfe!

@nottinhill Danke für deine Hilfe.

Es funktioniert jetzt gut. gibt mir keinen Fehler.

Vielen Dank
Gaurav

@vkarpov15 Es gibt mir wieder einen Fehler. Bitte öffnen Sie dieses Problem erneut.

Dankeschön
Gaurav

Welche Version verwendest du @gbansal7?

Es hat mich heute getroffen.

@Kuzirashi welche Version von Mungo?

3.8.0, ich habe es mit @BradZzz- Vorschlag

Musste npm in node_modules/mongodb installieren.

Das kann helfen. Vielleicht möchten Sie auch versuchen, auf eine neuere Version zu aktualisieren :)

Ich fürchte, ich werde mein Projekt brechen. Ich bin mit 3.8 zufrieden. :)

Wenn es funktioniert, ist das in Ordnung. Zukünftige Fehlerbehebungen erfordern jedoch ein Upgrade auf höhere Versionen von 3.8.x :)

Ich habe immer noch ein Problem damit unter Windows, mit und npm3.
Ich verwende die neueste Version von Mungo (4.2.6)
Die einzige Möglichkeit, die ich gefunden habe, besteht darin, npm im Ordner mungo zu installieren und dann npm im Ordner mungo/node_modules/mongodb zu installieren

@adrianw können Sie Ihre Version von Mungo überprüfen und mir die Ausgabe zeigen, die Sie erhalten, wenn Sie sie ausführen? Es sollte nicht möglich sein, diesen Fehler mit 4.2.6 zu bekommen, wenn man bedenkt, dass diese spezielle require-Anweisung nicht in 4.2.6 enthalten ist.

@vkarpov15 Ich habe definitiv 4.2.6 verwendet, ich habe zuletzt nach Ihrer Antwort noch etwas gegraben und festgestellt, dass es tatsächlich durch die Verwendung der Erweiterung / des Plugins 'mongoose-3x-types' ausgelöst wurde, die ich jetzt aus meinem Projekt entfernt habe und alles ist einfach wieder perfekt. Wenn also noch jemand Probleme hat, lohnt es sich, die Plugins zu überprüfen

Habe dies mit v3.9.7 gesehen, aber ein Rollback auf v3.8.12 schien vorerst zu funktionieren. Verwenden des neuesten NPM und des Knotens 4.2.4.

Verwenden Sie nicht 3.9.7. Es ist aus einem bestimmten Grund in npm veraltet: Es war eine instabile Entwicklerversion von früher, als Mungo verwendet wurde, die Versionsnummerierung des Linux-Kernels anstelle von Semver zu verwenden. Verwenden Sie 3.8.x oder 4.x.

npm install [email protected]

@dhirender-tyagi worauf bezieht sich dieser Kommentar?

Danke @nottinhill , @nikola-kanacki - das hat mein Problem gelöst (Fehler: Modul './db.json' kann nicht gefunden werden
at Function.Module._resolveFilename (module.js:336:15)
bei Function.Module._load (module.js:278:25)
bei Module.require (module.js:365:17)
bei erfordern (module.js:384:17) )

Ich tat dies:
npm install -g node-gyp
cd /in/dein/projektordner
rm -rf node_modules
npm installieren

Dies ist immer noch ein Bug in wie jede verdammte Version dieses Pakets, Sie können es nicht mit Node 6.x verwenden, Sie können keine Version vor 4.x verwenden, ohne dass es kaputt geht und diesen Fehler anzeigt, was los ist Hier? Warum gibt es keine dokumentierten Readme-Notizen?

λ ~/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

Hallo Leute, nur eine Warnung, da ich all diese Probleme hatte und nichts zu funktionieren schien. Ich bin mir sicher, dass Sie sich wahrscheinlich alle in den Dokumenten gelesen haben, aber ich habe es nicht getan und den Teil verpasst, in dem Sie keine node_modules in Ihren Git-Push zur Heroku-App aufnehmen sollten.

Dieses Dokument hat mich gerettet

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

Nun, das ist ziemlich offensichtlich. :) Selbst dann ist dieses Problem extrem ärgerlich. Ich verstehe nicht, wie ein Paket wie mongoose, das von Tausenden und Abertausenden von Entwicklern und Projekten verwendet und von Automattic unterstützt wird, diesen Scheiß nicht in Ordnung bringen kann. Wenn es strenge Anforderungen an Versionen gibt, dann SETZE ES IN DIE SCHEISSE DOKUMENTATION AUF DER ERSTEN SEITE .

Google, das diese Ausgabe durchsucht, findet ungefähr 5 Seiten mit Ergebnissen von Leuten, die dieselbe verdammte Frage stellen! Und es gibt keine endgültige Antwort!!!

Das Upgrade auf die neueste Version von Mongoose und MongoDB hat für mich funktioniert. Obwohl es einige Zeit gedauert hat, alle Mongoose-Änderungen in 4.x im Vergleich zu 3.x durchzuarbeiten!

Gibt es viele Breaking Changes? Die beschissene Sache ist, dass meine Mungo-Abhängigkeit in Keystone js eingebrannt ist, also kann ich diese Version nicht einfach stoßen.

Ich habe dieses Problem mit Knoten 6.5.x , Mungo 4.4.x mit Ubuntu 16, durch den Wechsel zu Knoten 4.x funktioniert es. Frage an euch, jetzt, da Knoten 6 das neue LTS sein wird, wird es funktionieren? Dies scheint ein riesiger Blocker zu sein, wenn es nicht behoben wird

@molekilla hast du es mit rm -rf node_modules && npm install versucht? Und ja, Mungo funktioniert in Node v6 einwandfrei.

Hi.
Wechseln Sie zu mongoose 4.2.9 in Ihrem package.json . Für mich geht das.

Ich repariere es tatsächlich mit dem Kommentar von @BradZzz

Ich bekomme das folgende Problem,
0 info es hat funktioniert wenn es mit ok endet
1 ausführliche cli [ 'C:\Programme\nodejs\node.exe',
1 ausführliches cli 'D:\Users\e849278\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js',
1 ausführlicher cli 'start' ]
2 Info mit [email protected]
3 Info mit [email protected]
4 ausführliches Ausführungsskript [ 'prestart', 'start', 'poststart' ]
5 Info Lebenszyklus [email protected] ~prestart: [email protected]
6 Info Lebenszyklus [email protected] ~start: [email protected]
7 ausführlicher Lebenszyklus [email protected] ~start: unsicher-perm in lifecycle true
8 ausführliche Lebenszyklus [email protected] ~ starten: PFAD: D: Benutzer \ e849278 \ AppData \ Roaming \ NPM \ node_modules \ NPM \ bin \ node-gyp-bin; d: \ NodeJS \ Pass soziale \ node_modules. bin;C:\Programme (x86)\Google\Chrome\Application;C:\ProgramData\Oracle\Java\javapath;C:\Programme (x86)\IBM\RationalSDLC\common;C:\windows\system32; C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Programme (x86)\IBM\RationalSDLC\ClearCase\bin;D:Users\e849278 .dnx\bin;C:\Programme\Microsoft DNX\Dnvm\;C:\Programme\TortoiseSVN\bin;C:\Programme\Gemeinsame Dateien\ThinPrint\;C:\Programme (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:\Programme\CMake\bin;C:\Programme\McAfee\DLP\Agent\
9 ausführliche Lebenszyklus [email protected] ~ starten: CWD: d: \ NodeJS \ Passsozial
10 dumme Lebenszyklus [email protected] ~ starten: Args: [ '/ d / s / c', 'Knoten ./bin/www']
11 alberner Lebenszyklus [email protected] ~start: Zurückgegeben: Code: 1 Signal: null
12 Info Lifecycle [email protected] ~start: Fehler beim Ausführen des Startskripts
13 ausführlicher Stapelfehler: [email protected] start: node ./bin/www
13 ausführlicher Stack Exit-Status 1
13 ausführlicher Stack bei EventEmitter.(D:Users\e849278\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:280:16)
13 ausführlicher Stack bei emitTwo (events.js:126:13)
13 ausführlicher Stack bei EventEmitter.emit (events.js:214:7)
13 ausführlicher Stapel bei ChildProcess.(D:Users\e849278\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 ausführlicher Stack bei emitTwo (events.js:126:13)
13 ausführlicher Stack bei ChildProcess.emit (events.js:214:7)
13 ausführlicher Stack bei mayClose (internal/child_process.js:925:16)
13 ausführlicher Stack bei Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
14 ausführliches pkgid [email protected]
15 ausführliche cwd d:\nodejs\passport-social
16 ausführliches Windows_NT 6.1.7601
17 verbose argv "C:\Program Files\nodejs\node.exe" "D:\Users\e849278\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js" "start"
18 ausführlicher Knoten v8.9.3
19 ausführliche npm v5.5.1
20 Fehlercode ELIFECYCLE
21 Fehler Fehler 1
22 Fehler [email protected] Start: node ./bin/www
22 Fehler Ausgangsstatus 1
23 Fehler Fehler beim Startskript von [email protected] .
23 error Dies ist wahrscheinlich kein Problem mit npm. Oben gibt es wahrscheinlich zusätzliche Logging-Ausgaben.
24 ausführlicher Ausgang [ 1, wahr ]

@kalburgimanjunath Ich sehe nirgendwo in Ihrem Stack-Trace Mungo, warum hängt das mit Mungo zusammen?

@parth0595 bei mir hat es auch funktioniert. Vielen Dank

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen