সি ++ বিসন এক্সটেনশান লোড করতে ব্যর্থ


185

মোট নোড এখানে। আমি একটি নমুনা নোড অ্যাপ সেট আপ করার চেষ্টা করেছি তবে নীচের ত্রুটিটি প্রতিবার চালানোর চেষ্টা করে:

নোড অ্যাপ

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

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: failed to connect to [#$%67890 :27017]
    at null.<anonymous> (/home/thejazeto/code/nodejs/authen/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:553:74)
    at EventEmitter.emit (events.js:106:17)
    at null.<anonymous> (/home/thejazeto/code/nodejs/authen/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:140:15)
    at EventEmitter.emit (events.js:98:17)
    at Socket.<anonymous> (/home/thejazeto/code/nodejs/authen/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:512:10)
    at Socket.EventEmitter.emit (events.js:95:17)
    at net.js:830:16
    at process._tickCallback (node.js:415:13)

3
ত্রুটিটি হ'ল failed to connect toতাই আমি মনে করি যে bsonবার্তাটি সম্পর্কিত নয় এবং বাস্তবে তা নয়। আপনি কি নিশ্চিত যে আপনার মঙ্গো সংযোগ সেটিংসটি সঠিক?
loganfsmyth

1
মজার গল্পটি আমি কেবল একটি উইন্ডোজ মেশিনে এই ত্রুটিটি পাই ... নোড-জিপ ইনস্টল করার চেষ্টা না করে আইভ প্রায় সব কিছু চেষ্টা করেও ত্রুটি পেয়েছি getting এবং চকোলেটিতে প্রয়োজনীয় বিল্ড ইনস্টল করবেন না
স্নিম্যাক্স

জেএস বিএসন কোডটি এখন কি সি ++ এর মতো প্রায় দ্রুত নয়? যদি তা হয় তবে এটি কি আসলেই সমস্যা?
আপক্রিক

নতুন আইওজে লোকেরা এই সমস্যাটি অনুভব করছে, আমি এই সমস্যাটি ট্র্যাক করার জন্য একটি টিকিট খুলেছি: github.com/mongodb/js-bson/issues/136
বিটিন

দ্রষ্টব্য: আমি আমার এমভিসি ফ্রেমওয়ার্ক হিসাবে কীস্টোন.জেএস ব্যবহার করছি। আমার জন্য, আপনি ".. / বিল্ড / রিলেজ / বিসন" কে "../browser_build/bson" এ পরিবর্তন করুন। আপনি যদি উপরে যান তবে আপনি ব্রাউজার_বিল্ড ফোল্ডারটি দেখতে পাবেন।
প্রণয় পান্ত

উত্তর:


201

আমার ধারণা আপনি যখন নিজের মোংডব লাইব্রেরি ইনস্টল করেছেন তখন আপনার কাছে মেক সরঞ্জাম উপলব্ধ ছিল না। আমি আপনাকে পরামর্শ দিচ্ছি

xcode-select --install(একটি ম্যাকের উপর) বা sudo apt-get install gcc make build-essential(উবুন্টুতে)

এবং চালান

rm -rf node_modules
npm cache clean
npm install

অথবা কেবলমাত্র @ টাবিয়াস মন্তব্যের ভিত্তিতে এনপিএম আপডেট (বিল্ড-আবশ্যক ইনস্টল করার পরে)

npm update

2
+1 টি। আমাকে যা করতে হয়েছিল তা সর্বশেষ 3 লাইন ছিল - আমার ধারণা আমার নির্মিত হয়নি কারণ কারণ এটি mongoskinমডিউলটির অংশ হিসাবে এসেছিল ।
ম্যাট ব্রাউন

2
কি দারুন! সেই sudo apt-get install gcc make build-essentialটিপটি আমি দেখেছি যে সেরা নোড.জেএস + উবুন্টু বিকাশের টিপসগুলির মধ্যে একটি। আপনি যদি ওয়েব অ্যাপ্লিকেশনগুলি বিকাশ করতে এবং উবুন্টুতে কেবল নোড.জেএস দিয়ে বিকাশ করতে ব্যবহার করেন তবে এটি একটি নিখুঁত গেম-চেঞ্জার।
চার্নি কায়ে

3
ইনস্টল করার কারণ gccএবং makeএর সাথে build-essentialকী আছে ? দ্বিতীয়টি অন্য দুটিটির উপর নির্ভর করে যাতে তারা যে কোনওভাবে ইনস্টল হতে চলেছে ( প্যাকেজ.বুন্টু . com/ trusty/ build- essential )। করছেন sudo apt-get install build-essentialযথেষ্ট হতে হবে।
সের্গেই

8
উইন্ডোজে কেমন আছে ?? আমি আমার উইন্ডোজ কমান্ড প্রম্পটে সি: \ ব্যবহারকারীগণ \ আমাকে> নোড সি: \ ব্যবহারকারী \ আমাকে \ ডেস্কটপ od নোডপ্রজেক্ট \ ডেটাজেন.জেএস on [ত্রুটি: মডিউলটি খুঁজে পাচ্ছি না '// বিল্ড / রিলেস / বিসন' ] কোড: 'MODULE_NOT_FOUND'} জেএস-বিসন: খাঁটি জেএস সংস্করণ ব্যবহার করে সি ++ বিসন এক্সটেনশান লোড করতে ব্যর্থ হয়েছে {[ত্রুটি: মডিউলটি খুঁজে পাওয়া যায়নি '.. / বিল্ড / রিলেজ / বিসন'] কোড: 'মোডু_লিও_ফাউন্ড'} জেএস-বিসন: সি ++ বিসন এক্সটেনশান লোড করতে ব্যর্থ হয়েছে, খাঁটি জেএস সংস্করণটি সার্ভারের সাথে সঠিকভাবে সংযুক্ত হয়েছে
উল্লাস কে

1
উইন্ডো মেশিনগুলি সম্পর্কে কী :(
জেমি হাটার

100

আমি সবেমাত্র সমাধান করেছি।

আপনি যখন এনপিএমের মাধ্যমে মঙ্গুজ মডিউলটি ইনস্টল করেন, তখন এটির ফোল্ডারে কোনও বিল্ট বিসন মডিউল থাকে না। ফাইলটিতে node_modules/mongoose/node_modules/mongodb/node_modules/bson/ext/index.js, লাইনটি পরিবর্তন করুন

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

প্রতি

bson = require('bson');

এবং তারপরে এনপিএম ব্যবহার করে বিসন মডিউলটি ইনস্টল করুন।


36
নোড_মডিউলগুলির ডিরেক্টরিতে জিনিসগুলি পরিবর্তন করা কি ভাল ধারণা? ভঙ্গুর মনে হচ্ছে
ডগলাস ফার্গুসন

6
পুনঃটুইট আপনি যদি নোড_মডিউলটি সম্পাদনা করেন তবে আমি রেপোকে কাঁটাচামচ করে এবং আপনার পরিবর্তিত মডিউলটি এনপিএম / বোভারের মাধ্যমে ইনস্টল করার পরামর্শ দেব।
ক্রিস্টোফার মার্শাল

4
এই উত্তর কাজ করে। মংগুসে দেবগণ, দয়া করে এটি ঠিক করুন!
স্টিভ কে

23
এটি একটি হ্যাক, কোনও স্থির নয়।
আশেশ

10
এটি কোনও সমাধান নয়। একই ফলাফলের সাহায্যে আপনি কেবল স্ট্রিংগুলি মুছতে পারেন যা ত্রুটি প্রিন্ট করে। নেটিভ সি ++ প্লাগইন বিসনের জন্য খুঁজে পাওয়া যায়নি এবং এই ক্ষেত্রে জেএস উপলব্ধি যেভাবেই হোক ব্যবহৃত হবে বলে এই ত্রুটিটি উপস্থিত হয়।
আলেমান্ডারফ

36

আমি রাস্পবিয়ানের (রাস্পবেরির জন্য ডেবিয়ান) "সি ++ বিসন এক্সটেনশন লোড করতে ব্যর্থ" পাওয়ার বিষয়টি সমাধান করেছি:

npm install -g node-gyp

এবং তারপর

npm update

3
আমি npm updateঅন্য কোনও কিছু ইনস্টল না করে কেবল দৌড়েই আমার সমস্যার সমাধান করেছি ।
ম্যালকম্মিশন

27

আমি এটি সমাধান করতে অক্ষম ছিল

এখন পর্যন্ত. প্রথমে আপনার প্রদীপ মহাদেবু দ্বারা উল্লিখিত সিস্টেম প্যাকেজ থাকতে হবে। ঐগুলি:

xcode-select --install (on a mac) 

অথবা

sudo apt-get install gcc make build-essential (on ubuntu)

তারপরে আমি নোড-জিপ ইনস্টল করেছি

npm install -g node-gyp 

যেমন ডেটাড্রেসার বলেছিলেন তবে এনপিএম আপডেটও তাঁর প্রস্তাবিত ঝুঁকিপূর্ণ। এটি সমস্ত মডিউল আপডেট করে, যা বিপজ্জনক হতে পারে (কখনও কখনও সংস্করণগুলির মধ্যে এপিআই পরিবর্তনগুলি)।

আমি নোড_মডিউল / মোংডব / নোড_মডিউল / বিসন ডিরেক্টরিতে যেতে এবং সেখান থেকে ব্যবহারের পরামর্শ দিচ্ছি

node-gyp rebuild

এটি আমার জন্য সমস্যার সমাধান করেছে।


5
উইন্ডো সম্পর্কে কী :(
জেমি হাটবার

@ জামিহট্টার ভিএস 2013 ইনস্টল করুন
রাহিল উজির

আমি এটি 512 এমবি আরপি 1 তে ডায়েটপি-র একটি মুক্তির সময় করছিলাম। কেবল উল্লেখ করতে চেয়েছিলাম যে আমাকে পাইথন ( apt-get install python) ইনস্টল করতে হবে এবং তারপরে node_modules/mongoose/node_modules/mongodb/node_modules/bson/রানের মধ্যে থেকেই make। এটি তৈরি Release/bson.node
স্ট্যাটিকবয়

20

একটি সাধারণ সমস্যা হ'ল নোড-জিপটির জন্য পাইথন ২.x প্রয়োজন হয় এবং যদি আপনার সিস্টেমটির pythonপয়েন্ট ৩.x হয় তবে এটি কোনও সংকেত bsonছাড়াই সংকলন করতে ব্যর্থ হবে । আপনি pythonআপনার এনএমপি কনফিগারেশনে একটি গ্লোবাল কী সেট করে এটি ঠিক করতে পারেন যা আপনার সিস্টেমে এক্সিকিউটেবলের ২.x নির্দেশ করে। উদাহরণস্বরূপ, আর্চ লিনাক্সে:

npm config -g set python "/usr/bin/python2"

19

উইন 8.1 এ

দেখে মনে হচ্ছে আমি আমার package.jsonফাইলটিতে মঙ্গুজের একটি ভুল সংস্করণ ব্যবহার করেছি ।

আমি লাইনে মুছে "mongoose" : "^3.8.15"থেকে package.json

CLI:

npm install mongoose --save

এখন এটা বলছেন "mongoose": "^4.0.6"মধ্যে package.jsonএবং ত্রুটি আমার কাছে তা থাকত সর্বস্বান্ত হয়।


ধন্যবাদ! আপনি আমাকে কীবোর্ডে মাথা ঘোরানো অসংখ্য ঘন্টা থেকে বাঁচালেন। এটি উইন্ডোতে কাজ করা শেষ এবং একমাত্র সমাধান। সমস্যাটি হ'ল আমি মঙ্গুজের একটি সংস্করণ 3.x চালাচ্ছি যা আমার পিসিতে সর্বশেষতম মংডোব ইনস্টলের সাথে বেমানান বলে মনে হয়েছিল।
চ্যালেঞ্জঅ্যাসিপটেড

এটি অবশেষে আমাকে উবুন্টুতেও চালিয়েছে।
জেসন কেনালি

হ্যাঁ, ম্যাকের সাথেও চলছে। ধন্যবাদ!
জোস

একটি গুচ্ছ ধন্যবাদ! মাইক্রোসফ্টের "আপনি ডকুমেন্টস পেয়ে গেছেন! একটি মঙ্গোডিবি জাম্প স্টার্ট" প্রশিক্ষণ সেশন অনুসরণ করে এবং একই ত্রুটি ঘটেছে, কেবল মঙ্গডব প্যাকেজ সম্পর্কিত - এটির জন্য উপরের পদক্ষেপগুলি করেছে এবং যথেষ্ট নিশ্চিত, এটি এখন চলছে! :)
ফার্নান্দো মাদ্রিগা

11

আমি উবুন্টু 14.04 চালাচ্ছি এবং এটি আমার জন্য এটি ঠিক করার জন্য নোডকে এখানে বর্ণিত হিসাবে উল্লেখ করার জন্য নোডের জন্য একটি সিএমলিংক তৈরি করতে হয়েছিল :

উবুন্টু 12.04 এ নোডেজ বনাম নোড

একবার আমি এটি করেছি যে আমি এই আদেশগুলি পুনরায় চালিত করেছি:

rm -rf node_modules
npm cache clean
npm install

গ্রেট অ্যান্টনি! আমি উবুন্টু ১৪.০৪ তেও চলছে এবং আপনার পরামর্শটি আমার সমস্যার সমাধান করেছে। বিল্ড-অপরিহার্য ইনস্টল করা এবং সবকিছু পুনরায় ইনস্টল করার জন্য এটি যথেষ্ট নয়: আমাকে 'নোড' এলএনও যুক্ত করতে হয়েছিল।
ফ্রাঙ্কো

8

সুতরাং আমার ক্ষেত্রে, আমি প্রথমে এই ডিরেক্টরিটি / নোড_মডিউলগুলি / মঙ্গুজ / নোড_মডিউলগুলি / এর অধীনে যাচাই করার চেষ্টা করেছি , কেবলমাত্র আমার কাছে বিএসএন মডিউল রয়েছে কিনা তা নিশ্চিত করতে । আমি বুঝতে পেরেছিলাম যে এটি আমার প্রথম স্থানে নেই, তবে আমি কেবল চালাব

এনপিএম ইনস্টল বিসন 

এবং তারপর

এনপিএম আপডেট

সবগুলি সাজানো হয়েছে Uউবুন্টুতে চেষ্টা এবং পরীক্ষিত।


পাশাপাশি আমার জন্য কাজ, কিন্তু আমি টাইপ করা makeমধ্যে/devel/node_modules/bson/
exebook

1
আমার জন্য কাজ করেছেন। এনপিএম ক্যাশে পরিষ্কার করা হয়নি। আসলে, আমি যা করেছি তা / নোড_মডিউলগুলি / মঙ্গুজ দৌড়ে এসেছেnpm install bson
রিচিরিচ

8

শুধু বলতে চেয়েছিলাম আমারও ত্রুটি ছিল

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

তবে অন্য কোনও ত্রুটি সহ নয়। আমি সমস্ত কিছু চেষ্টা করে দেখেছি এবং মঙ্গোদব ড্রাইভারগুলি আমি প্যাকেজটিতে উল্লেখ করছি j আমি এটিকে আমার সর্বশেষতম সংস্করণে পরিবর্তন করেছি যা ছিল (1.4.34) এবং এটি কার্যকর হয়েছে !!!


প্রকৃতপক্ষে এনপিএম ইনস্টল করুন মঙ্গোডব @ সর্বশেষ আমার জন্য সমস্যার সমাধান
tam.teixeira


8

আমি অবশেষে আমার মঙ্গডব নির্ভরতা সংস্করণটি ~ 2.0.36 এ আপডেট করে এই ত্রুটিটি সংশোধন করেছি package.json

 "dependencies": {
    "consolidate": "~0.9.1",
    "express": "3.x",
    "mongodb": "~2.0.36",
    "mongoose": "^4.1.12"
  }

খনিটি কিছুটা সম্পর্কিত ছিল, আমি মংগড ব্যবহার করছিলাম, এবং মোবগো ডিবি ব্যবহার করছিলাম না ।
ব্র্যাড বি

5

দুর্ভাগ্যক্রমে, উপরের সমস্ত উত্তর মাত্র অর্ধেক ঠিক আছে .. এটি খুঁজে বের করতে দীর্ঘ সময় নিল ..

মঙ্গুজ বিসন এনপিএম এর মাধ্যমে ইনস্টল সতর্কতা নিক্ষেপ করে এবং ত্রুটির কারণ ...

npm install -g node-gyp

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

এটি ম্যাজিকের মতো কাজ করে !!


এটি ত্রুটির সাথে ব্যর্থ:$ node gyp rebuild module.js:341 throw err; ^ Error: Cannot find module '/private/tmp/js-bson/gyp' at Function.Module._resolveFilename (module.js:339:15) at Function.Module._load (module.js:290:25) at Function.Module.runMain (module.js:447:10) at startup (node.js:140:18) at node.js:1001:3
টমাস মোডেনিস


4

আমি কেবল দৌড়েছি:

sudo npm install bson

এবং

sudo npm update

এবং সব ঠিক হয়ে যায়।


সুডোর অধিকার নিয়ে আপনার এনপিএম চালানো এড়ানো উচিত।
লোগানহসকিন্স

সুডো স্পেসে থাকা যে কোনও কিছু আপনি এড়াতে পারবেন, আপনার উচিত। আমি মনে করি না যে এটি কোনও ভয়াবহ সমস্যা সৃষ্টি করবে, এটি কেবল একটি ভাল অনুশীলন। এখানে একটি নিবন্ধ যা সহায়তা করতে পারে (জন পাপাকে পছন্দ করা ছাড়া এটির পক্ষে কোনও প্রমাণ দেওয়া যায় না)। johnpapa.net/how-to-use-npm-global-without-sudo-on-osx
লোগানহুসকিন্স

3

বিসন এক্সটেনশন বার্তাটি কেবল একটি সতর্কতা , আমি আমার নোডেজ অ্যাপ্লিকেশনটিতে এটি সর্বদা পাই।

পরীক্ষা করার বিষয়গুলি:

  • মঙ্গোডিবি উদাহরণ : আপনার কি কোনও মঙ্গোডিবি ইনস্ট্যান্স চলছে?
  • কনফিগ : আপনি সঠিকভাবে আপনার MongoDB ক্ষেত্রটিকেই নকুল কনফিগার করেছেন? আপনার কনফিগারটি ভুল বলে আমি সন্দেহ করি কারণ ত্রুটি বার্তাটি আপনার মংডোব সার্ভার হোস্ট নামের জন্য খুব অদ্ভুত একটি স্ট্রিং ফেলেছে ..

যে দরকারী তথ্য ছিল। আমার এই উপায়টির বাইরে আমি বুঝতে পেরেছিলাম যে আমি মঙ্গোলব ব্যবহারকারীর অ্যাকাউন্টের তথ্যটি ডেটাবেসের জন্য প্রকৃত মঙ্গোদব ব্যবহারকারী তথ্যের সাথে মিশ্রিত করছি।
থিজা

হুম, আমি একই ইস্যুতে চলেছি। যদিও আমার লোকাল টেস্ট সার্ভারে সবকিছু কাজ করছে এবং আমি মঙ্গোএইচকিউ ব্যবহার করছি সুতরাং স্থানীয় মোঙ্গো উদাহরণের প্রয়োজন নেই, অন্যটি কী ভুল হতে পারে?
করাহ

এটি সম্পর্কে ভুলে যান, নীচে প্রদীপের উত্তরটি সমাধান করেছে :)
করাহ

3

আমি সেন্টোজে এই সমস্যাটি ঠিক করেছি

  • "উন্নয়ন সরঞ্জাম" sudo ইয়াম গ্রুপ ইনস্টল করুন
  • sudo এনপিএম ইনস্টল করুন -জি নোড-জিপ
  • rm -r নোড_মডিউল
  • এনপিএম ক্যাশে পরিষ্কার
  • এনপিএম ইনস্টল

@ তজা বলেছেন ত্রুটিটি কেবল উইন্ডোজ মেশিনে ঘটে।
পাভেল ভেসেলভ

3

আমি এর 10 টি লাইন পরিবর্তন করে এটি ঠিক করেছি:

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

থেকে:

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

প্রতি:

bson = require('bson');

3
এটি খাঁটি
জেএস

আমি ১০০% নিশ্চিত নই, তবে আমি বুঝতে পেরেছি যে এটি ঠিক এড়ানো হচ্ছে।
জর্জিফপাস্টার

2

আমিও এই সমস্যা পেয়েছি এবং এটির ফলে আমার সেশনগুলি কাজ না করে। তবে না ভেঙে ...

আমি একটি মঙ্গু সংযোগ ব্যবহার করেছি।

আমার এটি ছিল:

var mongoose = require('mongoose');
var express = require('express');
var cookieParser = require('cookie-parser');
var expressSession = require('express-session');
var MongoStore = require('connect-mongo')(expressSession);
...
var app = express();
app.set('port', process.env.PORT || 8080);
app.use(bodyParser);
mongoose.connect('mongodb://localhost/TEST');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function callback () {
  console.log('MongoDB connected');
});


app.use(cookieParser());
app.use(expressSession({
  secret: 'mysecret',
  cookie: {
    maxAge: null,
    expires: moment().utc().add('days',10).toDate(),// 10 dagen
  },
  store: new MongoStore({
  db: 'TEST',
  collection: 'sessions',
}),

খুব সোজা। তবে পুনঃনির্ধারণ সর্বদা খালি থাকে।

rm -rf node_modules
npm cache clean
npm install

কৌতুকটি করেছেন। আপনার প্যাকেজ.জসনে আপনার কোনও 'মংডোব' নেই! শুধু মঙ্গুজ এবং সংযুক্ত-মঙ্গো।


2

উবুন্টুতে আমি কীভাবে সমস্যাটি স্থির করেছি তা এখানে:

  1. ln -s /usr/bin/nodejs /usr/bin/node
  2. npm install node-gyp
  3. cd node_modules/mongodb/node_modules/bson
  4. node-gyp rebuild

@Mbochynski উত্তর দ্বারা অনুপ্রাণিত, কিন্তু আমাকে প্রথমে একটি প্রতীকী লিঙ্ক তৈরি করতে হয়েছিল, অন্যথায় পুনর্নির্মাণ ব্যর্থ হয়েছিল।


2

অনেকগুলি বিকল্পের চেষ্টা করে দেখতে আমার একই সমস্যা হচ্ছে তবে শেষ npm intallপর্যন্ত আমার গড় অ্যাপ্লিকেশন ফোল্ডারটি কাজ করেছিল।


2

আমার এই সমস্যাটি ছিল কারণ আমি আমার গিট সংগ্রহস্থলের নোড_মডিউলগুলির ফোল্ডারটি অন্তর্ভুক্ত করছি। আমি যখন অন্য সিস্টেমে নোড_মডিউলগুলি পুনরায় তৈরি করি তখন এটি কাজ করে। তাদের মধ্যে একটি লিনাক্স, অন্যটি ওএস এক্স চালাচ্ছিল Maybe সম্ভবত তাদের বিভিন্ন প্রসেসরের আর্কিটেকচারও ছিল।


1

আমার ইসি 2 উদাহরণে আমার একই সমস্যা ছিল। আমি মনে করি প্রাথমিক কারণটি ছিল কারণ আমি মোংগো ইনস্টল করার সময় আমার কাছে নোডের একটি দৃষ্টান্ত চলছিল। আমি নোড পরিষেবা বন্ধ করে দিয়ে দৌড়ালাম

sudo npm update 

আমার নোড প্রকল্পের শীর্ষ স্তরের ফোল্ডারের ভিতরে। এটি সমস্যাটি সংশোধন করেছে এবং সবকিছু ঠিক নতুন মত ছিল


1

আমি ভার্চুয়াল মেশিনে (ভিজাগর) ভাগ করা ফোল্ডারে নোড চালানোর চেষ্টা করছিলাম। এটি একটি সমস্যা ছিল। আমার হোস্ট মেশিনটি হ'ল উইন্ডোজ, উইন্ডোজে নোড ইনস্টল করা হয়েছে এবং মনোযোগের মতো কাজ করেছে। সুতরাং আপনি যদি ভার্চুয়াল মেশিন ব্যবহার করছেন তবে কেবল হোস্ট মেশিনে নোড সার্ভার চালানোর চেষ্টা করুন।


1

আমার ঠিক একই সমস্যা ছিল এবং আক্ষরিকভাবে আমার পক্ষে কিছুই কার্যকর হয়নি। ত্রুটিটি kerberosদেখাচ্ছিল যে সমস্যা সৃষ্টি করছে এবং এটি mongooseনির্ভরতাগুলির মধ্যে একটি। যেহেতু আমি উবুন্টুতে আছি তাই আমি ভেবেছিলাম যে বিশ্বব্যাপী ইনস্টল করা প্যাকেজগুলির মধ্যে - এর /usr/lib/node_modulesমাধ্যমে sudoএবং ব্যবহারকারীর জায়গার মধ্যে যে কোনও জায়গায় অনুমতি সংক্রান্ত সমস্যা থাকতে পারে ।

আমি mongooseবিশ্বব্যাপী ইনস্টল করেছি - sudoঅবশ্যই, এবং সবকিছু প্রত্যাশা অনুযায়ী কাজ শুরু করে।

পিএস kerberosপ্যাকেজটি এখন বিশ্বব্যাপী ইনস্টল করা আছে তার পাশেই mongoose, তবে আমি মনে করতে পারি না আমি এটি ইচ্ছাকৃতভাবে করেছি কিনা - যখন আমি সমস্যাটি সমাধান করার চেষ্টা করছিলাম, বা এটি শুরু থেকেই ছিল কিনা।


1

আমি সেন্টস 7 নিয়ে ডকারে কাজ করছি, এবং একই সমস্যার মুখোমুখি হয়েছি।

চারপাশে দেখার পরে এবং বেশ কয়েকটি চেষ্টা করার পরে, আমি মঙ্গডব এবং মংডোব-সার্ভার ইনস্টল করে এই সমস্যাটি সমাধান করেছি

yum install mongodb mongodb-server

আমি মনে করি না এটি সর্বনিম্ন পাত্রে উত্পাদন করার সেরা উপায়। তবে আমি নিম্নলিখিত প্যাকেজগুলির মধ্যে সুযোগটি সীমাবদ্ধ করতে পারি

==============================================================================================================
 Package                          Arch              Version                          Repository          Size

==============================================================================================================
Installing:
 mongodb                          x86_64            2.6.5-2.el7                      epel                57 M
 mongodb-server                   x86_64            2.6.5-2.el7                      epel               8.7 M
Installing for dependencies:
 boost-filesystem                 x86_64            1.53.0-18.el7                    base                66 k
 boost-program-options            x86_64            1.53.0-18.el7                    base               154 k
 boost-system                     x86_64            1.53.0-18.el7                    base                38 k
 boost-thread                     x86_64            1.53.0-18.el7                    base                56 k
 gperftools-libs                  x86_64            2.1-1.el7                        epel               267 k
 libpcap                          x86_64            14:1.5.3-3.el7_0.1               updates            137 k
 libunwind                        x86_64            1.1-3.el7                        epel                61 k
 snappy                           x86_64            1.1.0-3.el7                      base                40 k


1

আমি সন্ন্যাসী প্যাকেজ আনইনস্টল এবং পুনরায় ইনস্টল করে সমাধান করতে সক্ষম হয়েছি। প্রারম্ভিক ইনস্টলের আপাতদৃষ্টিতে একটি দূষিত মংডোব / বিএসএন নির্ভরতা ছিল।


1

অনুসরণকারী @ ব্যবহারকারী 1548357 আমি নিজেই মডিউল ফাইলটি পরিবর্তন করার সিদ্ধান্ত নিয়েছি। নীচের বৈধ মন্তব্যের দ্বারা চিহ্নিত সমস্যাগুলি এড়াতে আমি একটি পোস্ট-ইনস্টল স্ক্রিপ্টে আমার পরিবর্তনগুলি অন্তর্ভুক্ত করেছি যাতে আমি এটি সেট করতে পারি এবং এটি ভুলে যেতে পারি এবং আশ্বাস দিতে পারি যে আমার মডিউলগুলি ইনস্টল হওয়ার পরে এটি চলবে।

// package.json
"scripts": {
    // other scripts
    "postinstall": "node ./bson.fix.js"
},

এবং স্ক্রিপ্টটি হ'ল:

// bson.fix.js
var fs = require('fs');
var file = './node_modules/bson/ext/index.js'
fs.readFile(file, 'utf8', function (err,data) {
  if (err) {
    return console.log(err);
  }
  var result = data.replace(/\.\.\/build\/Release\/bson/g, 'bson');
  fs.writeFile(file, result, 'utf8', function (err) {
     if (err) return console.log(err);
     console.log('Fixed bson module so as to use JS version');
  });
});

1

সহজেই এই লাইনটি যুক্ত করে সমস্যাটিকে আটকান এবং চেষ্টা করুন এবং ব্লক পথটি ধরুন: node_modules/mongoose/node_modules/mongodb/node_modules/bson/ext/index.js

bson = require('bson');  instead 

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

এটাই তো !!!


হাই, আপনার উত্তরের জন্য ধন্যবাদ। লোকের পড়া সহজতর করার জন্য দয়া করে কোড উদাহরণগুলিতে বিন্যাস ব্যবহার করুন।
F_SO_K

1

উইন্ডোজ 7 (x64) এ আমাকে কেবল সহায়তা করে: https://stackoverflow.com/a/29714359/2670121

X32 সংস্করণ সহ নোড এবং পাইথন পুনরায় ইনস্টল করুন।
আমি এই ত্রুটিটি সহ অনেক সময় ব্যয় করেছি:

সি ++ বিসন এক্সটেনশান লোড করতে ব্যর্থ

এবং পরিশেষে, যখন আমি মডিউল ইনস্টল করেছি node-gyp(নেটিভ অ্যাডোন তৈরির জন্য) এবং এমনকি ভিজ্যুয়াল স্টুডিও সহ উইন্ডোজ এসডিকে ইনস্টল করেছি - নোডেজগুলি এসেম্বলড মডিউলটি চিনতে পারেনিbson.node হিসাবে । পুনরায় ইনস্টল করার পরে সমস্যাটি চলে যায়।

আবার, এই ত্রুটিটির অর্থ কী?

আসলে এটি ত্রুটিও নয়। আপনি এখনও মঙ্গুজ ব্যবহার করতে পারেন। তবে এক্ষেত্রে bsonমডিউলটির দ্রুত দেশীয় উপলব্ধির পরিবর্তে আপনি পেয়েছেন js-realizationযা ধীর।

আমি অনেক টিপস দেখেছি যেমন: "নোড_মডিউলগুলির গভীরে পাথ সম্পাদনা করুন ..." - যা সম্পূর্ণ অকেজো, কারণ এটি সমস্যার সমাধান করে না, তবে কেবল ত্রুটি বার্তাগুলি বন্ধ করে দিয়েছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.