Website-Suche

javascript - Modul '../build/Release/bson' kann nicht gefunden werden] code: 'MODULE_NOT_FOUND' } js-bson: Laden der c++ bson-Erweiterung fehlgeschlagen, Verwendung der reinen JS-Version


Ich bekomme den folgenden Fehler:

{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' } 
  js-bson: Failed to load c++ bson extension, using pure JS version

Hier sind meine Versionsdetails:

  • Betriebssystem: Windows 7

  • MongoDB: 2.6.5

  • Node: 0.12.0

Ich habe diese Dinge ausprobiert, bevor ich das Problem hier gepostet habe.

  1. Ich bin zum Ordner \node-modules\mongoose\node-modules\mongodb\node-modules\bson gegangen und habe die folgende Änderung in der binding-gyp-Datei vorgenommen, von 'include_dirs': [ '<!(node -e "require(\'nan\')")' ] zu 'include_dirs': ["<!(nodejs -p -e \"require('path').dirname(require.resolve('nan'))\")"]

  2. Führte diesen Befehl aus npm install -g node-gyp

  3. Ich habe die Mongoose-Version auf 3.8.21 in package.json aktualisiert

Nichts funktioniert. Bitte schlagen Sie etwas vor

Antwort #1

Finde im npm-Modul mongodb:

..\node_modules\mongodb\node_modules\bson\ext\index.js

Pfad zur JS-Version im Catch-Block ändern:

bson = require('../build/Release/bson');

An :

bson = require('../browser_build/bson');

Oder Datei kopieren in:

..\node_modules\bson\build\Release\bson

Von :

..\node_modules\bson\browser_build\bson

Antwort #2

Ich hatte dieses Problem heute (19. Feb. 2016) und habe es einfach gelöst, indem ich die neueste Version von Mongoose installiert habe. Versuchen Sie, dies in Ihrer package.json einzufügen:

"mongoose": "~4.4"

Hoffe, das hilft. Hat es für mich gelöst!

Antwort #3

Das Problem ist, dass beim Installieren von Mongoose über npm davon ausgegangen wird, dass Python auf Ihrem Windows installiert ist, und versucht wird, die benötigten Bibliotheken zu erstellen. Da Sie Python nicht installiert haben, wird die Erstellungsphase mit einer Warnung übersprungen. Wenn Sie jedoch Ihre Anwendung starten, sind die erforderlichen Module nicht vorhanden, sodass Sie diesen Fehler erhalten.

Um die Dinge richtig zu machen, installieren Sie zuerst Python (Version 2.7) auf Ihrem Computer von: https://www.python.org/downloads/ oder wenn Sie Chocolatey installiert haben, geben Sie einfach choco install python2 ein.

Stellen Sie dann sicher, dass Ihre Python-Variable gesetzt ist. Sie können sie in der Eingabeaufforderung wie folgt setzen:

SET python=D:\Python27\python.exe

(Natürlich sollten Sie den Pfad entsprechend dem Speicherort von Python ändern) Dann installieren Sie node-gyp:

npm install -g node-gyp

Jetzt können Sie mongoose oder ein anderes Modul, das das Problem verursacht, neu installieren:

npm install mongoose

Sie werden diesmal einige gelbe Linien anstelle roter sehen, aber der Fehler wird verschwunden sein.

Antwort #4

Ich habe dieses Problem gelöst, indem ich die Mongoose-Version 3.8.23 installiert habe

npm install [email 

Antwort #5

Das hat bei mir funktioniert. Suchen Sie in Ihrem Arbeitsbereich nach dem Text:

"../build/Release/bson"

Du wirst es wahrscheinlich in den Mongoose- und Mönch-Modulen finden.

Dann ersetze jeden:

bson = require('../build/Release/bson');

mit :

bson = require('bson');

Das ist alles!

Verwandte Artikel