Ошибка установки npm несмотря на изменение файла Bson
Используя mongodb3.0, узел 0.12.0, npm 2.5.1 в Windows 7 интегрировать, я пытаюсь читать и записывать данные в моей базе данных, но у меня есть эта ошибка в 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
я использую монаха, и я запускаю npm mongodb, npm monk
4 ответа
Проблема: Модулям, таким как Mongo-DB, Socket.io и другим, требуется node-gyp для компиляции кода C/C++, который также обсуждал Ким. MSVC++ поставляется только для 32-битных ОС, СЕЙЧАС это реальная проблема, потому что если вы устанавливаете node.js и другие требования, такие как Python 2.7.3, с 64-битными версиями, то вы столкнетесь с такими же проблемами, как и я,
Следуй этим шагам:
- Удалить Node.js
- Удалите все модули, включая Python
- Теперь установите 32-разрядные версии всех вышеперечисленных удаленных приложений и платформ.
- Выполните все необходимые шаги.
- Теперь установите модули, которые вы хотите использовать.
Вы можете увидеть некоторые ошибки при установке, но не паникуйте. Попробуйте запустить ваше приложение, и оно будет работать нормально.
ПРИМЕЧАНИЕ. Это решение зависит от платформы, т. Е. Для MS Windows.
Я на Windows 8.1, но я сначала установил Python 2.7.9, а также Visual Studio Community Edition. Оба необходимы для компиляции bson. Затем я установил: "npm install -g node-gyp", после чего я просто удалил node_modules из своего проекта и снова выполнил "npm install". Решаемые. Когда я снова сделал установку, я увидел на консоли сообщение о том, что bson компилируется.
Проблема исправлена, когда я изменил версию узла 10.34 и ном 1.4.28
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
строка, как вы сделали, и в результате с той же ошибкой (exports.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
Это исправило это.