Ошибка в установке 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