Ошибка в установке npm, несмотря на изменение файла Bson

используя mongodb3.0, node 0.12.0, npm 2.5.1 для Windows 7 integale, я пытаюсь читать и записывать данные в свою базу данных, но у меня есть эта ошибка в npm intsall!

{ [Error: Cannot find module '../build/Release/bson'] code: 'MODULE_NOT_FOUND' }

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

js-bson: Failed to load c++ bson extension, using pure JS version

Я попытался заменить

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

в

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

но у меня были такие ошибки:

 exports.BSON.BSON_BINARY_SUBTYPE_DEFAULT = 0 TypeError: Cannot set property       'BSON_BINARY_SUBTYPE_DEFAULT' of undefined  

Я использую monk, anfd Я запустил npm mongodb, npm monk

Ответ 1

Проблема:. Модули, такие как Mongo-DB, Socket.io и другие, требуют node-gyp компилировать код C/С++, который Ким также обсуждается. MSVС++ поставляется только для 32-разрядной ОС, СЕЙЧАС, это настоящая проблема, потому что если вы устанавливаете node.js и другие требования, такие как Python 2.7.3 с 64-битными версиями, тогда вы столкнетесь с такими проблемами, как я.

Выполните следующие действия:

  • Удалить node.js
  • Удалите все модули, включая Python
  • Теперь установите 32-разрядные версии всех вышеперечисленных удаленных приложений и платформ.
  • Следуйте всем необходимым шагам.
  • Теперь установите модули, которые вы хотите использовать.

Во время установки вы можете увидеть некоторые ошибки, но не паникуйте. Попробуйте запустить приложение, и он будет работать нормально.

ПРИМЕЧАНИЕ.. Это решение относится к платформе, то есть для MS Windows.

Ответ 2

Я нахожусь на Windows 8.1, но то, что я сделал, было сначала установить python 2.7.9, а также визуальное редакционное издание студии. Оба необходимы для компиляции bson. Затем я установил: "npm install -g node -gyp", после чего я просто удалил node_modules из моего проекта и снова установил "npm install". Решаемые. Когда я снова установил установку, я мог видеть сообщение на консоли, в котором говорилось, что компиляция bson.

Ответ 3

MongoDB зависит от нескольких библиотек. В какой-то момент вы бы сделали:

npm install mongodb --save

Одна из этих зависимостей node-gyp, которая необходима для компиляции bson. Важно отметить, что node -gyp требует установки Python 2.7 и Microsoft Visual Studio (см. раздел установки node -gyp). Если у вас нет Python 2.7 и Visual Studio, тогда node -gyp не сможет построить, что означает, что он не может скомпилировать bson (вызывая первоначальную ошибку).

Перейдите к: node_modules\mongodb\node_modules\mongodb-core\node_modules\bson

Вы должны найти файл builderror.log с дополнительной информацией о том, почему node -gyp не удалось создать. Скорее всего, это связано с тем, что Python 2.7 или Visual Studio не установлены.

Вот что мне нужно было сделать, чтобы исправить это:

У меня была такая же проблема, как и вы с ошибкой модуля bson. Я также изменил строку require, как и вы, и получил ту же ошибку (export.BSON...). Затем я удалил монаха и mongodb:

npm uninstall mongodb --save
npm uninstall monk --save

Установленный Python 2.7 и Microsoft Visual Studio, а затем снова установите mongodb и monk:

npm install mongodb --save
npm install monk --save

Это исправлено.

Ответ 4

Проблема исправлена, когда я изменил версию node 10.34 и nom 1.4.28