मॉड्यूल नहीं ढूँढ सकता '../build/Release/bson'] कोड: 'MODULE_NOT_FOUND'} js-bson: शुद्ध JS संस्करण का उपयोग करके c ++ bson एक्सटेंशन लोड करने में विफल रहा


156

मुझे नीचे त्रुटि मिल रही है:

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

यहाँ मेरे संस्करण विवरण हैं:

  • ओएस: विंडोज 7

  • MongoDB: 2.6.5

  • नोड: 0.12.0

इससे पहले कि मैं इस मुद्दे को यहां पोस्ट करूं, मैंने इन चीजों की कोशिश की।

  1. मैं के लिए गया था \node-modules\mongoose\node-modules\mongodb\node-modules\bsonफ़ोल्डर और से बाध्यकारी-ढकोसला फ़ाइल में परिवर्तन नीचे बना 'include_dirs': [ '<!(node -e "require(\'nan\')")' ] करने के लिए 'include_dirs': ["<!(nodejs -p -e \"require('path').dirname(require.resolve('nan'))\")"]

  2. इस आज्ञा को निभाया npm install -g node-gyp

  3. मैंने मोंगोज़ संस्करण को 3.8.21 में अपडेट किया है package.json

कुछ भी काम नहीं करता है। कृपया सुझाव दे


2
मैंने आपके द्वारा सुझाए गए विकल्पों की कोशिश की है, लेकिन कोई फायदा नहीं हुआ। मुझे नीचे त्रुटि हो रही है {[त्रुटि: मॉड्यूल नहीं मिल रहा है ../build/Release/bson '] कोड:' MODULE_NOT_FOUND '} js-bson: शुद्ध JS संस्करण c: \ raj \ project का उपयोग करके c ++ bson एक्सटेंशन लोड करने में विफल रहा \ meandemo \ नोड_modules \ express \ lib \ रूटर \ मार्ग। js: 170 थ्रो नई त्रुटि (msg); ^ त्रुटि: Route.get () के लिए कॉलबैक फ़ंक्शंस की आवश्यकता होती है लेकिन रूट पर एक [ऑब्जेक्ट अपरिभाषित] मिला। <अनाम>
navra


1
कृपया इस समाधान को देखें, आशा है कि यह काम करेगा! जैसा कि C ++ BSON विस्तार के लिए कई अन्य मॉड्यूल भी आवश्यक हैं। कृपया ध्यान दें कि, यह समाधान Microsoft-OS Win-7 stackoverflow.com/a/29714359/4154706 के
aitchkhan

इस प्रश्न के उत्तर भी जांचें: c ++
bson

जवाबों:


165

Npm मॉड्यूल मोंगोडब में खोजें:

.. \ node_modules \ MongoDB \ node_modules \ bson \ ext \ index.js

पकड़ ब्लॉक में जेएस संस्करण के लिए पथ बदलें:

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

सेवा:

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

या फ़ाइल की प्रतिलिपि बनाएँ:

.. \ node_modules \ bson \ निर्माण \ रिलीज \ bson

से:

.. \ node_modules \ bson \ browser_build \ bson


1
बहुत बढ़िया! स्थानीय माहौल हालांकि, इसलिए कुछ भी दुखद नहीं होना चाहिए।
मैनाटैक्स

4
bson = आवश्यकता ('../../../ browser_build / bson.js');
रॉबोर78

25
यह कोई हल नहीं है। उसी परिणाम के साथ आप केवल उन स्ट्रिंग्स को हटा सकते हैं जो त्रुटि प्रिंट करता है। यह त्रुटि प्रकट होती है क्योंकि bson के लिए देशी c ++ प्लगइन नहीं मिला है और इस मामले में js प्राप्ति का उपयोग वैसे भी किया जाएगा।
एलेंडॉर्फ

4
@Alendorff सच है, लेकिन हम में से ज्यादातर के लिए देखो क्या है। मुझे C ++ प्लगइन की परवाह नहीं है, मैं चेतावनियों से छुटकारा पाना चाहता हूं क्योंकि वे नोड इंस्पेक्टर को तोड़ते हैं। इस दृष्टिकोण से, आपका सुझाव (त्रुटि प्रिंट निकाल रहा है) भी एक समाधान है, क्योंकि यह एक त्रुटि नहीं होनी चाहिए, कोड जेएसबैकबैक के साथ ठीक काम करता है।
तोतली

3
क्षमा करें, यहां दूसरा सबसे अच्छा जवाब के रूप में डाउनवोटिंग वास्तव में सही, गैर-हैक समाधान है: पैकेज का एक गैर-टूटा हुआ संस्करण स्थापित करें!
jrista

70

मेरे पास आज (19 फरवरी, 2016) यह मुद्दा था और मैंने इसे केवल मोंगोसे के नवीनतम संस्करण को स्थापित करके हल किया। इसे अपने पैकेज में डालने का प्रयास करें। json:

"mongoose": "~4.4"

उम्मीद है की वो मदद करदे। यह मेरे लिए हल!


1
मेरे लिए काम किया। मुझे लगता है कि इसकी सभी समस्या एक पुराने मानस संस्करण के साथ है, जो मुझे एक पुराने ट्यूटोरियल का अनुसरण करने से मिली थी। IMO यह सही उत्तर होना चाहिए।
एडवर्ड नेवेल

8
सबसे अच्छा जवाब, मॉड्यूल के भीतर संपादन कोड के बारे में अन्य सभी हैक नहीं हैं समाधान
साइकिल

2
नोड_मॉड्यूल्स / मोंगोडब आदि के साथ गड़बड़ करने की आवश्यकता के बिना सबसे सीधे आगे समाधान धन्यवाद!
माइक जूल

1
सबसे अच्छा में से एक, सिर्फ मोंगोज़ो की स्थापना रद्द करें (npm अनइंस्टॉल मोंगोज़) और इसे फिर से इंस्टॉल करें (
npm

18

समस्या यह है कि जब आप npm के माध्यम से mongoose स्थापित करते हैं तो यह मानता है कि आपने अपनी खिड़कियों पर अजगर स्थापित किया है और आवश्यक पुस्तकालय बनाने की कोशिश करता है। चूंकि आपके पास अजगर नहीं है, इसलिए यह चेतावनी के साथ चरण निर्माण को छोड़ देता है। लेकिन जब आप अपना आवेदन शुरू करते हैं, तो आवश्यक मॉड्यूल नहीं होते हैं इसलिए आपको यह त्रुटि मिलती है।

चीजों को करने के लिए सबसे पहले अपने कंप्यूटर पर अजगर (संस्करण २. p) स्थापित करें : https://www.python.org/downloads/ या यदि यू ने सिर्फ चॉकोलेटेटी स्थापित किया हैchoco install python2

फिर सुनिश्चित करें कि आपका अजगर चर सेट है। आप इसे कमांड प्रॉम्प्ट पर सेट कर सकते हैं जैसे:

SET python=D:\Python27\python.exe

(निश्चित रूप से आपको अपने स्थान के अनुसार अजगर को बदलना चाहिए) फिर नोड-जिप स्थापित करें:

npm install -g node-gyp

अब आप mongoose या जो भी मॉड्यूल समस्या का कारण बन सकते हैं उन्हें पुन: स्थापित कर सकते हैं:

npm install mongoose

आपको इस बार लाल रंग की बजाय कुछ पीली रेखाएँ दिखाई देंगी लेकिन त्रुटि हो जाएगी।


2
अजगर का संस्करण महत्वपूर्ण है। नोड- gyp संस्करण> 3.0 के साथ काम नहीं करता है
MatthieuLemoine

1
यह एक पूर्ण समाधान नहीं है ... मैं अभी भी निम्न त्रुटि प्राप्त कर रहा हूं: MSBUILD: त्रुटि MSB3428: दृश्य C ++ घटक "VCBuild.exe" लोड नहीं कर सका।
orszaczky

@ TheRebel इसे vs2010 टूलकिन मान रहे हैं। जो आपने स्थापित किया है --msvs-version=2012उसके 2013eआधार पर जोड़ें या निर्भर करें। जैसेnpm install mongoose --msvs-version=2012
रिचीविच सेप

क्या होगा अगर मैं heroku बादल पर नोड एप्लिकेशन को तैनात कर रहा हूं।
jsbisht

15

मैंने mogoose संस्करण स्थापित करके इस समस्या को हल किया 3.8.23

npm install mongoose@3.8.23

यहां काम किया। क्या यह पुराना संस्करण है? यह काम क्यों किया?
विक्टर फेरेरा

15

इसने मेरे लिए काम किया। पाठ के लिए अपने कार्यक्षेत्र में खोजें:

"../build/Release/bson"

आप शायद इसे मोंगोज़ और भिक्षु मॉड्यूल के अंदर पाएंगे।

फिर प्रत्येक को बदलें:

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

साथ में:

bson = require('bson');

बस इतना ही!


मुझे यह त्रुटि मिल रही थी कि मीजल्स का उपयोग करके प्रोजेक्ट सेट करने के बाद डिफ़ॉल्ट परीक्षण चलाने की कोशिश कर रहा था। यह तय किया। धन्यवाद।
राणेवेरिट्स

7

प्रयास करें npm install mongoose@3.8.23और यह भी की जगह bson = require('../build/Release/bson');के लिए

bson = require('../browser_build/bson'); in नोड_मॉड्यूल्स / बॉसन / ext / index.js


सुनिश्चित करें कि bson.js के लिए पथ सही है। मेरे लिए bson = आवश्यकता ('../ browser_build / bson.js'); काम किया। इंस्टालेशन के लिए जाने से पहले वर्जन मैंगोज की भी जांच करें।
विक्रम शेट्टी

7

यह मेरे लिए काम किया:

फ़ाइल पर जाएं (अपने प्रोजेक्ट में):

node_modules/mongoose/node_modules/mongodb/node_modules/bson/ext/index.js

और परिवर्तन:

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

सेवा:

bson = require('bson');

संदर्भ: https://github.com/mongodb/js-bson/issues/118


2
आपको यह फिक्स कैसे बनी रही? क्या आपने node_modulesस्रोत नियंत्रण में अपनी निर्देशिका की जांच की ?
मार्क स्टोसबर्ग

7

संक्षिप्त जवाब

मोंगोडब का नवीनतम संस्करण स्थापित करें।

थोड़ा लंबा जवाब

सुनिश्चित करें कि आपका package.json mongodb के नवीनतम संस्करण का उपयोग कर रहा है, फिर नोड_मॉड्यूल्स / mongodb को हटा दें और npm को फिर से स्थापित करें। यदि आपने प्रत्यक्ष निर्भरता के रूप में मोंगॉडब का उपयोग नहीं किया है, तो यह खोजने की कोशिश करें कि कौन सा पैकेज मोंगडब का उपयोग कर रहा है। मैंनें इस्तेमाल किया:

find . -type f -name package.json | xargs grep mongodb
...
./sails-mongo/package.json:    "mongodb": "1.4.26",
...

इसलिए मैंने अपडेट किया ।/sails-mongo/package.json:

"mongodb": "2.1.7",

फिर नोड_मॉड्यूल्स / मोंगोडब हटा दें और फिर से एनपीएम स्थापित करें। अब ठीक लगता है।

और भी लंबा जवाब

मुझे उपयोग करने का वर्तमान तरीका पसंद नहीं है

require('../browser_build/bson')

देखने के बाद से ../browser_build/bson.js, एक 4k + लाइनें फ़ाइल, जो "गैर-देशी" कार्यान्वयन भी लगती हैं। इसलिए हालांकि यह किसी भी शिकायत को थूक नहीं देगा, यह अभी भी "शुद्ध जेएस संस्करण का उपयोग कर रहा है", जिसका अर्थ है धीमी प्रदर्शन।

Https://github.com/mongodb/js-bson/issues/145 और https://github.com/mongodb/js-bson/issues/165 को देखते हुए , ऐसा लगता है कि इस मुद्दे के कारण था:

antoniofruci ने 15 सितंबर 2015 को टिप्पणी की

मुझे अभी पता चला है कि c ++ कोड 6 महीने पहले हटा दिया गया है और अब यह एक वैकल्पिक निर्भरता है: bson-ext। वास्तव में, यदि आप नवीनतम संस्करण स्थापित करते हैं तो कोई त्रुटि नहीं होती है।

इसलिए मैंने पूरे नोड_मॉडल को हटाने की कोशिश की और फिर भी वही त्रुटि हुई। और node_modules / mongodb के package.json को देखते हुए, इसका संस्करण अभी भी 1.4.26 है, नवीनतम 2.1.7 नहीं।

जाहिरा तौर पर मेरा मोंगोडब मेरे द्वारा स्थापित एक और पैकेज की निर्भरता के रूप में आता है: पाल-मोंगो। Sails-mongo और redoing npm install के package.json को मोडिफाई करने से आखिरकार समस्या हल हो जाती है।


6

कीस्टोन जेएस सीएमएस की तैनाती मेरे पास एक ही त्रुटि थी और मुझे लगता है कि सबसे सुरुचिपूर्ण समाधान यह है:

स्थापित करें npm-check-updates:

root@keystonejs:~# npm install -g npm-check-updates

आपकी कीस्टोन साइट निर्देशिका के भीतर, जहां package.jsonरखा गया है, निर्भरता की जांच करें:

debian@keystonejs:~/myproject/manalcjim$ npm-check-updates -u

फिर सभी पैकेजों को अपडेट करें:

debian@keystonejs:~/myproject/manalcjim$ npm install

और अंत में यदि आपने jadeटेम्प्लेट के लिए चुना है, तो शायद आपको jadeमॉड्यूल को स्पष्ट रूप से स्थापित करने की आवश्यकता होगी :

debian@keystonejs:~/myproject/manalcjim$ npm install jade --save

5

चिह्नित उत्तर पूरी तरह से गलत है। यह सब कंसोल लॉग स्टेटमेंट को छिपाता है और जो कुछ भी करता है वह वास्तव में समस्या का समाधान नहीं करता है। आप अपनी आँखें भी बंद कर सकते हैं और यह उसी परिणाम को प्राप्त करेगा।

समस्या नोड-जिप और केवल उसी के कारण होती है। इसका उद्देश्य कुछ मॉड्यूल जैसे कि बोस के लिए मूल एक्सटेंशन को संकलित करना है।

यह ऐसा करने के लिए विफल रहता है तो कोड जे एस संस्करण पर वापस आने जाएगा और कृपया जानकारीपूर्ण संदेश के माध्यम से ऐसा आपको बता:

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

मुझे लगता है कि सवाल वास्तव में देशी C ++ एक्सटेंशन को संकलित करने के तरीके के बारे में है, न कि केवल संदेश को देखने के लिए तो आइए इसे संबोधित करते हैं।

नोड-जिप के लिए काम करने के लिए आपका नोड-जिप आपके नोड और सी ++ कंपाइलर (जो आपके ओएस पर आधारित होगा) के साथ अद्यतित होना चाहिए। बस के रूप में महत्वपूर्ण अपने मॉड्यूल भी अप टू डेट होना चाहिए

पहले नोड-जिप की स्थापना रद्द करें और पुनर्स्थापित करें

npm un node-gyp -g;npm i node-gyp -g

अब आपको अपने ऐप में किसी भी नोड मॉड्यूल को पूरी तरह से अनइंस्टॉल और पुनः इंस्टॉल करने की आवश्यकता होगी (जिसमें आवश्यकताओं के अनुसार स्थापित मॉड्यूल भी शामिल हैं) जिसमें बॉन हो। उस त्रुटि का ध्यान रखना चाहिए। आप 'रिलीजन / बॉसन' खोज सकते हैं और दोषियों को ढूंढ सकते हैं।

find node_modules/ -type 'f' -exec grep -H 'Release/bson' {} \;

और फिर इन मॉड्यूल्स को अनइंस्टॉल और रीइंस्टॉल करें।

आसान पूरे node_modulesफ़ोल्डर को फिर से करना है :

 rm -rf node_modules
 npm cache clear
 npm i

यदि आप अभी भी समस्याओं का अनुभव करते हैं, तो या तो 1) आपका मॉड्यूल पुराना हो गया है - उनके रेपो या 2 में समस्या ट्रैकर की जांच करें) आपके पास एक संभावित संघर्ष है - कभी-कभी हमारे पास उदाहरण के लिए एक स्थानीय नोड-जिप हो सकता है। आप खुद से चला सकते हैं node-gypऔर संस्करणों को सत्यापित कर सकते हैं ।


5

www.spotdekho.comनई windows10मशीन के लिए सेटअप बनाते समय , मैं "nodemon web.js" एक ही त्रुटि के कारण कमांड चलाने में असमर्थ था

"त्रुटि: मॉड्यूल नहीं ढूँढ सकता '../build/Release/bson'"

इसे नीचे दिए चरणों द्वारा तय किया गया:

  1. फोल्डर "रिलीज" को "node_modules \ bson \ build \" स्थान के अंदर बनाएँ
  2. "Node_modules \ bson \ browser_build \" से bson.js कॉपी करें
  3. "Node_modules \ bson \ build \ रिलीज़" फ़ोल्डर के अंदर bson.js चिपकाएँ।

इससे समस्या सुलझ जाएगी।

पुनश्च: मैं mongoose संस्करण 4.8.8 का उपयोग कर रहा हूँ।

धन्यवाद :), आशा है कि यह किसी की मदद करता है।


4

मेरे मामले में, मोंगोज़ ( npm install mongoose) के साथ आने वाले बिट्स mongodbमें इसके पैकेज का एक कार्यशील संस्करण हैnode_modules फ़ोल्डर ।

निम्नलिखित चरणों ने मुझे समस्या के निवारण के कार्य से बचाया:

  • npm install mongoose
  • node_modules\mongoose\node_modules\mongodbमेरे रूट node_modulesफ़ोल्डर में कॉपी करें (जो किसी भी संस्करण के साथ आया है)npm install mongodb )
  • Failed to load c++ bson extension...त्रुटि को अनदेखा करें (या मुद्दे पर चुप रहने के लिए कोड बदलें)

3

जब मुझे इस तरह की त्रुटियां हो रही थीं, तो मैं नोड v0.10 से नोड v4.xx में अपग्रेड कर रहा था। मुझे जो करना था, वह जीसीसी का एक नया संस्करण स्थापित करना था (मुझे लगता है कि मेरे पास जीसीसी v4.4.x या कुछ था)। मैंने 4.7.2 अपडेट किया और उसके बाद काम किया।


3

मुझे भी यही समस्या थी।

एक नए आम संस्करण की कोशिश कर रहा है

npm install mongoose@4.4

इस मुद्दे को हल किया।

मास्सिमो।


3

इस कमांड को mongoose को अनइंस्टॉल करने के लिए चलाएं npm uninstall --save mongoose- इसके बाद इसे फिर npmसे इंस्टॉल करें लेकिन इस बार mongoose run के नवीनतम संस्करण को स्वचालित रूप से इंस्टॉल कर npm install --save mongooseदेता है।


2

दुर्भाग्य से, उपरोक्त सभी उत्तर केवल आधे सही हैं .. यह पता लगाने के लिए एक लंबा समय लिया ..

एनजीओ थ्रो चेतावनी के माध्यम से मैंगोज बोन्स स्थापित करें और त्रुटि का कारण बने ...

npm install -g node-gyp

git clone https://github.com/mongodb/js-bson.git
cd js-bson
npm install
node-gyp rebuild

यह जादू की तरह काम करता है !!


2

यदि आप विंडोज़ 8.1 का उपयोग कर रहे हैं, तो आप यह सुनिश्चित करना चाहते हैं कि आप अपने npm मॉड्यूल को सही दृश्य स्टूडियो कंपाइलर के साथ स्थापित कर रहे हैं।

मेरे पास विजुअल स्टूडियो 2012 स्थापित है, यह कमांड मेरे लिए काम करता है। (नोड_मॉड्यूल्स हटाने के बाद)

npm स्थापित --msvs_version = 2012

किसी कारण से, नोड-जिप दृश्य स्टूडियो कंपाइलर के गलत संस्करण का उपयोग करने की कोशिश कर रहा है। मैंने यह भी देखा कि "एनपीएम इंस्टाल" कमांड मेंगोडब और मोनगोज मॉड्यूल स्थापित करते समय नोड-जिप निर्भरता के बारे में चेतावनी छाप रहा था।

सही msvs_version का उपयोग करने के बाद, npm इंस्टॉल चेतावनी चली गई और साथ ही साथ मेरे नोडज एप्लिकेशन को चलाते समय कंसोल चेतावनी भी चली गई।

आप यह भी सुनिश्चित कर सकते हैं कि आपके पास सही पायथन 2.7.X संस्करण स्थापित है और पायथन 3.0.X नहीं।

आपको यह भी सुनिश्चित करने की आवश्यकता होगी कि अजगर आपके एनवी पथ में है।


इसने मेरे लिए विंडोज 8.1 पर विजुअल स्टूडियो कम्युनिटी एडिशन 2013 का उपयोग करके काम कियाnpm install --msvs_version=2012
फॉक्स

2

केवल एक चीज जो मुझे विंडोज 7 (x64) पर मदद करती है: https://stackoverflow.com/a/29714359/2670121

X32 संस्करणों के साथ नोड और अजगर को पुनर्स्थापित करें।
मैंने इस त्रुटि के साथ बहुत समय बिताया (अंत में c ++ bson एक्सटेंशन लोड करने में विफल) और अंत में, जब मैंने मॉड्यूल स्थापित कियाnode-gyp (देशी addons के लिए) और यहां तक ​​कि स्थापित किए गए विंडोज़ एसडीके को दृश्य स्टूडियो के साथ - नोडज ने मॉड्यूल के रूप में इकट्ठे मॉड्यूल bson.node को नहीं पहचाना। पुनर्स्थापना के बाद समस्या दूर हो गई है।

फिर, इस त्रुटि का क्या मतलब है?

वास्तव में, यह भी त्रुटि नहीं है। आप अभी भी आम का उपयोग कर सकते हैं। लेकिन इस मामले में, बॉन मॉड्यूल के तेजी से मूल बोध के बजाय, आपको जेएस-रियलाइजेशन मिला, जो धीमा है। मैंने कई युक्तियाँ देखीं: "नोड_मॉड्यूल्स के अंदर गहरे पथ को संपादित करें ..." - जो कि बेकार है क्योंकि यह समस्या को हल नहीं करता है लेकिन सिर्फ त्रुटि संदेशों को बंद कर देता है।



1

आपको NODE_MODULES लाइब्रेरी फ़ोल्डर में फ़ाइलों को कभी नहीं बदलना चाहिए।

वे फाइलें npm installकमांड का परिणाम हैं ।

मूल रूप से, मुझे लगता है कि विंडोज उपयोगकर्ताओं के लिए - सही तरीका है VM का उपयोग करें। यह तब है जब मैं घर से काम करता हूं।

आप सभी की जरूरत:

for CentOS: yum install gcc gcc-c++ make openssl-devel

for Debian/Ubuntu: apt-get install build-essential

और फिर npm installया, यदि आप पहले ही कर चुके हैं -npm update


वह सवाल में सही कहता है कि वह विंडोज 7 का उपयोग कर रहा है - सेंटोस और डेबियन कमांड कैसे मदद करता है?
थ्रोन्क

1
ओह, वास्तव में, मेरा बुरा। मैंने उस टैग को नहीं देखा
विक्टर पेरोव

1

मेरे लिए सबसे अच्छा समाधान नोड-मोंगोडब 1.x से 2.x पर अपग्रेड करना था।


1

मुझे पता है कि यह धागा 1 वर्ष + पुराना है, लेकिन इसने मेरी मदद की, एक अलग मॉड्यूल के साथ।

मैंने mongoose-post-findv0.0.2 स्थापित किया और यह मुद्दा शुरू हुआ। इसे ठीक करने के लिए, मैंने सुझावों का उपयोग किया और \ नोड_modules \ mongoose-post-find \ नोड_modules \ bson \ ext में नेविगेट किया और index.js फ़ाइल को खोला।

फ़ाइल की कोशिश सही ब्लॉक संस्करण की आवश्यकता के लिए एक कोशिश पकड़ ब्लॉक के साथ शुरू होता है

try {
    // Load the precompiled win32 binary
    if(process.platform == "win32" && process.arch == "x64") {
      bson = require('./win32/x64/bson');  
    } else if(process.platform == "win32" && process.arch == "ia32") {
      bson = require('./win32/ia32/bson');  
    } else {
      bson = require('../build/Release/bson');  
    }   
} catch(err) {
    // Attempt to load the release bson version
    try {
        bson = require('../browser_build/bson');
    } catch (err) {
        console.dir(err)
        console.error("js-bson: Failed to load c++ bson extension, using pure JS version");
        bson = require('../lib/bson/bson');
    }
}

यह सही संस्करण है। क्या हो रहा था कि इसे ../build/Release/bson से बोस लोड करने की कोशिश की गई, यह नहीं मिल सका और पकड़ में आ गया। वहाँ से फिर से बोन्स लोड करने की कोशिश की जाती है ../build/Release/bson और निश्चित रूप से विफल। इसलिए मैं ../browser_build/bson में देखने के लिए कैच में पथ बदलता हूं। इससे त्रुटि का समाधान हुआ।

मैं इसे संपूर्णता के लिए पोस्ट करता हूं।


1

मैं ubuntu के 16.04 के उन्नत संस्करण के बाद एक ही मुद्दा था। मैं इस तरह से हल किया, आशा है कि यह मदद करता है।

$rm -rf node_modules
$npm --save install bson
$npm --save install mongoose
$npm install

1

हमारे मामले में, इसका कारण यह है कि c ++ वर्जन बन्स नहीं मिला, क्योंकि हम एक कॉर्पोरेट प्रॉक्सी के पीछे थे और BSON बिल्ड प्रक्रिया में फ़ाइलों को लाने की जरूरत है। जब हमने node_modules / bson / buildderror.log में देखा, तो हमने एक त्रुटि देखी:

gyp WARN install got an error, rolling back install gyp ERR! configure error gyp ERR! stack Error: connect ECONNREFUSED gyp ERR! stack at errnoException (net.js:904:11) gyp ERR! stack at Object.afterConnect [as oncomplete] (net.js:895:19)

किसने सुझाव दिया कि प्रॉक्सी मुद्दा हो सकता है। Http_proxy और https_proxy वातावरण चर सेट करने से इसे हल किया गया।

इस पर टिप्पणियों को पुनः प्राप्त करने के लिए क्षमा करें, लेकिन मैं इसे किसी और के लिए पोस्ट करना चाहता था जो भविष्य में इसे हिट करे क्योंकि यह धागा हमारे मुद्दे को हल करने में बहुत मददगार था।


0

Npm स्थापित mongoose --msvs_version = 2012 स्थापित करें, यदि आपके पास एकाधिक विज़ुअल स्थापित है, तो यह मेरे लिए काम करता है


0

से पहला कॉपी bson.jsकोडbrowser_build folder

दूसरी नई फ़ाइल bson.jsऔर पेस्ट कोड बनाएँ

तीसरा पास में नई फ़ाइल सहेजें index.js


0

मैं ओएस विंडोज 8.1 के साथ काम कर रहा हूं और मुझे भी यही समस्या थी। समस्या का स्रोत पायथन का संस्करण था। मैंने पाया मूल समस्या फ़ाइल की समीक्षा करें ... \ n

मैंने पायथन का सही संस्करण स्थापित किया (64 बिट्स के लिए 2.7.9) और इसने मेरी समस्या को हल कर दिया।

नोट: अजगर का स्थापित संस्करण 2.7.5 से अधिक या 3.0.0 से कम के बराबर या अधिक होना चाहिए


0

मैंने कोशिश की है, bson = require('../browser_build/bson');लेकिन अंत में एक और त्रुटि में चल रहा है

अपरिभाषित की 'BSON_BINARY_SUBTYPE_DEFAULT' संपत्ति सेट नहीं कर सकते

अंत में मैंने इस मुद्दे को बस से npm updateठीक कर दिया, यह मानस में बोस मॉड्यूल को ठीक कर देगा।


0

तो, मैं एक ही समस्या है और ऐसा होता है तो निर्दिष्ट mongoDB URL मौजूद नहीं है। तो, इसे ठीक करने के लिए आपको ".. \ सर्वर \ कॉन्फिगर \ एनवायरनमेंट" फोल्डर में जाना होगा और "डेवलपिंग.जैस" में एडिट करके मोंगोबीडी के लिंक को फाइल करना होगा।

उदाहरण:

// Development specific configuration
// ==================================
module.exports = {
  // MongoDB connection options
  mongo: {
    uri: 'mongodb://localhost/test2-dev'
  },

  seedDB: true
};

तो, इस "uri: 'mongodb: // localhost / test2-dev' को अपने mongoDB डेटाबेस के लिए कुछ वास्तविक पथ में बदलें।

मुझे खुशी होगी अगर मेरी पोस्ट किसी की मदद करेगी ...


0

npm मॉड्यूल मेंगोडब ..node_modules \ mongodb \ नोड_modules \ bson \ ext \ index.js में खोजें

और पकड़ ब्लॉक में संस्करण संस्करण के लिए पथ बदल जाते हैं

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

सेवा bson = require('../browser_build/bson');

try {
        // Load the precompiled win32 binary
        if(process.platform == "win32" && process.arch == "x64") {
          bson = require('./win32/x64/bson');  
        } else if(process.platform == "win32" && process.arch == "ia32") {
          bson = require('./win32/ia32/bson');  
        } else {
         bson = require('../browser_build/bson');  
        }   
    } catch(err) {
        // Attempt to load the release bson version
        try {
            bson = require('../browser_build/bson');
        } catch (err) {
            console.dir(err)
            console.error("js-bson: Failed to load c++ bson extension, using pure JS version");
            bson = require('../lib/bson/bson');
        }
    }
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.