মডিউলটি খুঁজে পাওয়া যায় না '...


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

  • মঙ্গোডিবি: 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'} জেএস-বিসন: খাঁটি জেএস সংস্করণ সি: j রাজ \ প্রকল্প ব্যবহার করে সি ++ বিসন এক্সটেনশান লোড করতে ব্যর্থ হয়েছে \ meandemo \ নোড_মডিউলগুলি \ এক্সপ্রেস ter lib \ রাউটার \ রুট.জেএস: 170 নিক্ষেপ নতুন ত্রুটি (msg); ^ ত্রুটি: রুট.জেট () এর কলব্যাক ফাংশন প্রয়োজন তবে রুটে একটি [অবজেক্ট অবধারিত] পেয়েছে <<নামবিহীন>
নাভরা


1
দয়া করে এই সমাধানটি দেখুন, আশা করি এটি কার্যকর হয়! সি ++ বিএসওএন এক্সটেনশানটি অন্যান্য বেশ কয়েকটি মডিউলগুলির জন্যও প্রয়োজনীয়। কল্যাণকামী মনে রাখবেন, এই সমাধান নির্দিষ্ট মাইক্রোসফট অপারেটিং সিস্টেম উইন -7 জন্য হয় stackoverflow.com/a/29714359/4154706
aitchkhan


উত্তর:


165

এনপিএম মডিউল মংডব্বে খুঁজুন:

.. \ 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
বিসন = প্রয়োজন ('../../../ ব্রাউজার_বিল্ড / বিসন.জেএস');
robor78

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

4
@ অ্যালেন্ডার্ফ ট্রু, তবে আমাদের বেশিরভাগ লোকই এর জন্য সন্ধান করেন। আমি সি ++ প্লাগইন সম্পর্কে কোন চিন্তা করি না, আমি সতর্কতা থেকে মুক্তি পেতে চাই কারণ তারা নোড ইন্সপেক্টরকে ভেঙে দেয়। এই দৃষ্টিকোণ থেকে, আপনার পরামর্শ (ত্রুটি প্রিন্টগুলি অপসারণ) একটি সমাধানও কারণ এটি কোনও ত্রুটি হওয়া উচিত নয়, কোডটি জেএস ফ্যালব্যাকের সাথে দুর্দান্ত কাজ করে fine
টটিমেডলি

3
দুঃখিত, এখানে দ্বিতীয় সেরা উত্তর হিসাবে ডাউনভোটিংয়ের আসলে সঠিক, নন-হ্যাক সমাধান রয়েছে: প্যাকেজের একটি অ-ভাঙা সংস্করণ ইনস্টল করুন!
জ্রিস্টা

70

আমার আজ এই সমস্যাটি ছিল (ফেব্রুয়ারী 19th, 2016) এবং আমি মঙ্গুজের সর্বশেষতম সংস্করণ ইনস্টল করে এটি সমাধান করেছি। এটি আপনার প্যাকেজ.জসনে রাখার চেষ্টা করুন:

"mongoose": "~4.4"

আশা করি এইটি কাজ করবে. আমার জন্য এটি সমাধান!


1
আমার জন্য কাজ করেছেন। আমি মনে করি এটি একটি পুরানো মঙ্গুজ সংস্করণে সমস্ত সমস্যা, যা আমার কোনও পুরানো টিউটোরিয়াল অনুসরণ করার পরে হয়েছিল। আইএমও এটির সঠিক উত্তর হওয়া উচিত।
এডওয়ার্ড নেওয়েল

8
সর্বোত্তম উত্তর, মডিউলগুলির মধ্যে সম্পাদনা কোড সম্পর্কে অন্য
সাইকেল

2
নোড_মডিউলগুলি / মংডোডব ইত্যাদি নিয়ে গণ্ডগোলের প্রয়োজন ছাড়াই সর্বাধিক সোজা ফরওয়ার্ড সলিউশন ধন্যবাদ!
মাইক্রিম

1
অন্যতম সেরা, কেবল মঙ্গুজ আনইনস্টল করুন (এনপিএম আনইনস্টল মঙ্গুজ) এবং এটি পুনরায় ইনস্টল করুন (এনপিএম
মঙ্গুজ

18

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

কিছু করার জন্য প্রথমে আপনার কম্পিউটারে পাইথন (সংস্করণ 2.7) ইনস্টল করুন: https://www.python.org/downloads/ থেকে বা আপনি চকোলেটি ইনস্টল করেছেন কেবল টাইপ করুন choco install python2

তারপরে আপনার অজগর ভেরিয়েবলটি সেট করা আছে তা নিশ্চিত করুন। আপনি এটি কমান্ড প্রম্পটে যেমন সেট করতে পারেন:

SET python=D:\Python27\python.exe

(অবশ্যই আপনার অজগরটির অবস্থান অনুযায়ী পথ পরিবর্তন করা উচিত) তারপরে নোড-জিপ ইনস্টল করুন:

npm install -g node-gyp

এখন আপনি মঙ্গুজ বা সমস্যা তৈরির যে কোনও মডিউল পুনরায় ইনস্টল করতে পারেন:

npm install mongoose

আপনি এবার লাল রঙের পরিবর্তে কয়েকটি হলুদ রেখা দেখতে পাবেন তবে ত্রুটিটি চলে যাবে।


2
অজগরটির সংস্করণটি গুরুত্বপূর্ণ। নোড-জিপ সংস্করণ> 3.0
ম্যাটথিউলেমাইন

1
এটি সম্পূর্ণ সমাধান নয় ... আমি এখনও নিম্নলিখিত ত্রুটিটি পাচ্ছি: এমএসবিল্ড: ত্রুটি এমএসবি 3428: ভিজ্যুয়াল সি ++ উপাদান "ভিসিবিল্ড.এক্সি" লোড করা যায়নি।
orszaczky

@ দ্য রিবেল এটি বনাম ২০১০ সরঞ্জামচেন ধরেছে। যোগ --msvs-version=2012বা 2013eকি আপনি ইনস্টল করা আছে উপর নির্ভর করে। যেমনnpm install mongoose --msvs-version=2012
রিচিরিচ

আমি হিরকু ক্লাউডে নোড অ্যাপ স্থাপন করছি তবে কী করব।
jsbisht


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'); নোড_মডিউল / বিসন / এক্সট্রা / সূচক.জেজে


নিশ্চিত হয়ে নিন যে 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

সংক্ষিপ্ত উত্তর

মোঙ্গোদব এর সর্বশেষতম সংস্করণ ইনস্টল করুন।

আরও দীর্ঘ উত্তর

নিশ্চিত করুন যে আপনার প্যাকেজ.জসনটি মঙ্গোডাবের সর্বশেষতম সংস্করণটি ব্যবহার করছে, তারপরে নোড_মডিউলগুলি / মংগডব সরান এবং আবার এনপিএম ইনস্টল করুন। আপনি যদি সরাসরি নির্ভরতা হিসাবে মঙ্গোদব ব্যবহার না করেন তবে কোন প্যাকেজটি মংডবি ব্যবহার করছে তা সন্ধান করার চেষ্টা করুন। আমি ব্যবহার করতাম:

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

সুতরাং আমি। / সেল / মঙ্গো / প্যাকেজ.জসনকে আপডেট করেছি:

"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 এ মন্তব্য করেছে

আমি সবেমাত্র জানতে পেরেছি যে সি ++ কোডটি 6 মাস আগে সরানো হয়েছে এবং এটি এখন একটি alচ্ছিক নির্ভরতা: বিসন-এক্সট্রা। প্রকৃতপক্ষে, আপনি সর্বশেষ সংস্করণটি ইনস্টল করলে কোনও ত্রুটি ঘটে না।

সুতরাং আমি পুরো নোড_মডিউলগুলি অপসারণ করার চেষ্টা করেছি এবং এখনও একই ত্রুটি পেয়েছি। এবং নোড_মডিউলগুলি / মঙ্গোডবের প্যাকেজ.জসনের দিকে তাকিয়ে, এর সংস্করণটি এখনও 1.4.26, সর্বশেষ 2.1.7 নয়।

স্পষ্টতই আমার মঙ্গোদব আমি ইনস্টল করা অন্য প্যাকেজের নির্ভরতা হিসাবে চলে আসে: পাল-মঙ্গো। পাল-মঙ্গো এর প্যাকেজ.জসন পরিবর্তন করে এনপিএম পুনরায় করা শেষ পর্যন্ত সমস্যার সমাধান করুন।


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

আমি ধারণা করি যে প্রশ্নটি কীভাবে দেশীয় সি ++ এক্সটেনশানটি সংকলন করতে হবে তার পরিবর্তে যে কেবল বার্তাটি দেখছেন না তাই আসুন এটি সম্বোধন করুন।

নোড-জিপ কাজ করার জন্য আপনার নোড-জিপ আপনার নোড এবং সি ++ সংকলক (যা আপনার ওএসের উপর ভিত্তি করে পৃথক হবে) এর সাথে আপ টু ডেট থাকতে হবে। ঠিক তেমনি গুরুত্বপূর্ণ আপনার মডিউলটিও আপ টু ডেট থাকতে হবে।

প্রথমে নোড-জিপ আনইনস্টল করুন এবং পুনরায় ইনস্টল করুন

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" একই ত্রুটির কারণে আমি কমান্ড চালাতে পারিনি

"ত্রুটি: মডিউলটি খুঁজে পাওয়া যায় না '../ বিল্ড / রিলিজ / বিসন'"

নীচের পদক্ষেপগুলি দ্বারা এটি স্থির করে নিন:

  1. "নোড_মডিউলগুলি \ বিসন \ বিল্ড \" অবস্থানের ভিতরে "রিলিজ" ফোল্ডার তৈরি করুন
  2. "নোড_মডিউলগুলি \ বিসন \ ব্রাউজার_বিল্ড \" থেকে বিসন.জেএস অনুলিপি করুন
  3. "নোড_মডিউলগুলি \ বিসন \ বিল্ড \ রিলিজ" ফোল্ডারের ভিতরে বিসন.জেগুলি আটকান।

এটি সমস্যার সমাধান করবে।

PS: আমি মঙ্গুজ সংস্করণটি ব্যবহার করছি 4.8.8।

ধন্যবাদ :), আশা করি এটি কাউকে সাহায্য করবে।


4

আমার ক্ষেত্রে, মঙ্গস ( npm install mongoose) এর সাথে যে বিটগুলি আসে তা mongodbপ্যাকেজের একটি কার্যকরী সংস্করণ থাকে havenode_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 এ আপগ্রেড করছিলাম। আমার যা করতে হবে তা হ'ল gcc এর একটি নতুন সংস্করণ ইনস্টল করা হয়েছিল (আমার মনে হয় আমার কাছে gcc v4.4.x বা কিছু ছিল)। আমি জিসিসি 4.7.2 এ আপডেট করেছি এবং তার পরে জিনিসগুলি কাজ করেছে।


3

বিসনের ক্ষেত্রেও আমার একই সমস্যা ছিল।

একটি নতুন মঙ্গুজ সংস্করণ চেষ্টা করছি

npm install mongoose@4.4

সমস্যাটি সমাধান করুন।

মাসিমো।


3

মঙ্গুজ আনইনস্টল করার জন্য এই কমান্ডটি চালান npm uninstall --save mongoose- এরপরে এটি পুনরায় ইনস্টল করুন তবে এবার npmস্বয়ংক্রিয়ভাবে মঙ্গুজ রানের সর্বশেষতম সংস্করণটি ইনস্টল করুন 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 ব্যবহার করে থাকেন তবে আপনি নিশ্চিত করতে চাইতে পারেন যে আপনি আপনার এনপিএম মডিউলগুলি সঠিক ভিজ্যুয়াল স্টুডিও সংকলক সহ ইনস্টল করছেন।

আমার ভিজ্যুয়াল স্টুডিও 2012 ইনস্টল করা আছে, এই কমান্ডটি আমার পক্ষে কাজ করে। (নোড_মডিউলগুলি সরিয়ে দেওয়ার পরে)

এনপিএম ইনস্টল --msvs_version = 2012

কোনও কারণে নোড-জিপ ভিজ্যুয়াল স্টুডিও সংকলকটির ভুল সংস্করণটি ব্যবহার করার চেষ্টা করছে। আমি আরও লক্ষ্য করেছি যে "এনপিএম ইনস্টল" কমান্ডটি মংডব এবং মঙ্গস মডিউলগুলি ইনস্টল করার সময় নোড-জিপ নির্ভরতা নয় সম্পর্কে সতর্কতা ছাপছিল।

সঠিক এমএসভিএস_ভারশনটি ব্যবহার করার পরে, এনডিএম ইনস্টলের সতর্কতাগুলি আমার নোডেজ অ্যাপ্লিকেশনটি চালানোর সময় কনসোল সতর্কতা হিসাবে চলে গেছে।

আপনি এটিও নিশ্চিত করতে চাইতে পারেন যে আপনার কাছে পাইথন ২.7. এক্স সংস্করণ ইনস্টল রয়েছে এবং পাইথন 3.0.০.এক্স নয় not

আপনাকে এটিও নিশ্চিত করতে হবে যে অজগরটি আপনার vভির পথে রয়েছে।


এটি ভিজুয়াল স্টুডিও সম্প্রদায় সংস্করণ 2013 ব্যবহার করে উইন্ডোজ 8.1 এ আমার জন্য কাজ করেছে npm install --msvs_version=2012
ফোনে

2

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

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

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

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



1

NODE_MODULES গ্রন্থাগার ফোল্ডারে আপনার কখনও ফাইল পরিবর্তন করা উচিত নয়।

এই ফাইলগুলির ফলাফল npm install কমান্ডের ।

বেসিক্যালি, আমি উইন্ডোজ ব্যবহারকারীদের জন্য মনে করি - সঠিক উপায়টি হ'ল ভিএম ব্যবহার করা। আমি যখন বাড়ি থেকে কাজ করি তখন এটিই করি।

যা তোমার দরকার:

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

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

এবং তারপরে npm installবা, আপনি যদি ইতিমধ্যে এটি করে ফেলেছেন -npm update


তিনি উইন্ডোজ using ব্যবহার করছেন এমন প্রশ্নের মধ্যে তিনি বলেছেন - সেন্টোস এবং ডিবিয়ান কমান্ড কীভাবে সহায়তা করে?
থ্রোক

1
ওহ, সত্যিই আমার খারাপ। আমি সেই ট্যাগটি দেখিনি
ভিক্টর পেরভ

1

আমার জন্য সবচেয়ে ভাল সমাধানটি নোড-মংডোডবি 1.x থেকে 2.x এ উন্নীত করা ছিল was


1

আমি বুঝতে পারি যে এই থ্রেডটি 1 বছর + পুরানো, তবে এটি অন্যরকম মডিউল থাকা সত্ত্বেও আমাকে সহায়তা করেছে।

আমি মঙ্গুজ-পোস্ট-ফাইন্ডে .0.0.2 ইনস্টল করেছি এবং এই সমস্যাটি শুরু হয়েছে। এটি ঠিক করার জন্য, আমি পরামর্শগুলি ব্যবহার করেছি এবং নেভিগেট করে ode নোড_মডিউলগুলি \ মঙ্গুজ-পোস্ট-ফাইন্ড \ নোড_মডিউলগুলি \ বিসন \ এক্স এবং সূচি.জেএস ফাইলটি খুললাম।

সঠিক বিসন সংস্করণ প্রয়োজনের চেষ্টা করে ফাইলটি চেষ্টা করে ব্লক দিয়ে শুরু হয়

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');
    }
}

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

আমি সম্পূর্ণতার জন্য এটি পোস্ট।


1

ওবুন্টুর আপগ্রেড সংস্করণটি 16.04 এ উন্নীত করার পরে আমার একই সমস্যা ছিল। আমি এইভাবে সমাধান করেছি, আশা করি এটি সাহায্য করবে।

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

1

আমাদের ক্ষেত্রে, সি ++ সংস্করণ বিসন সন্ধানের কারণটি ছিল না কারণ আমরা একটি কর্পোরেট প্রক্সি পিছনে ছিলাম এবং বিএসওএন বিল্ড প্রক্রিয়াতে কিছু ফাইল আনার জন্য পৌঁছানো দরকার। আমরা যখন নোড_মডিউলস / বিসন / বিল্ডারআর.লগটি দেখি, আমরা এর মতো একটি ত্রুটি দেখেছি:

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

এনপিএম ইনস্টল করার চেষ্টা করেছেন মঙ্গুজ --msvs_version = 2012, যদি আপনার একাধিক ভিজ্যুয়াল ইনস্টল থাকে তবে এটি আমার জন্য কাজ করেছে


0

প্রথম কপি bson.jsকোড থেকেbrowser_build folder

দ্বিতীয়টি নতুন ফাইল bson.jsএবং পেস্ট কোড তৈরি করুন

তৃতীয়টি নতুন ফাইলটি ভিতরে প্রবেশ করুন index.js


0

আমি ওএস উইন্ডোজ 8.1 এর সাথে কাজ করছি এবং আমারও একই সমস্যা ছিল। সমস্যার উত্স ছিল পাইথনের সংস্করণ। আমি ফাইলটি পর্যালোচনা করে উত্স সমস্যাটি পেয়েছি ... \ node_modules \ mongodb \ node_modules \ mongodb-core \ node_modules \ kerberos \ builderror.log।

আমি পাইথনের সঠিক সংস্করণ ইনস্টল করেছি (b৪ বিটের জন্য ২.7.৯) এবং এটি আমার সমস্যার সমাধান করেছে।

দ্রষ্টব্য: পাইথনের ইনস্টল করা সংস্করণটি 2.7.5 এর চেয়ে সমান বা বৃহত্তর এবং 3.0.0 এর চেয়ে কম হওয়া আবশ্যক


0

আমি চেষ্টা করেছি bson = require('../browser_build/bson');কিন্তু শেষ করে দিয়েছি অন্য একটি ত্রুটির দিকে

অপরিজ্ঞাপিত 'BSON_BINARY_SUBTYPE_DEFAULT' সম্পত্তি সেট করা যায় না

অবশেষে আমি এই সমস্যাটি কেবলমাত্র npm updateস্থির করে দিয়েছি, এটি মঙ্গুজে বিসন মডিউলটি ঠিক করবে।


0

সুতরাং, আমার একই সমস্যা আছে এবং এটি ঘটে তখন নির্দিষ্ট মঙ্গোডিবি ইউআরএল উপস্থিত থাকে না। সুতরাং, এটি ঠিক করার জন্য আপনাকে ".. \ সার্ভার \ কনফিগারেশন \ পরিবেশ" ফোল্ডারটিতে যেতে হবে এবং "উন্নয়ন.js" এ সম্পাদনা করে মঙ্গোডিবিতে লিঙ্কটি ফাইল করতে হবে।

উদাহরণ:

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

  seedDB: true
};

সুতরাং, এই "uri: 'mongodb: // localhost / test2-dev'" কে আপনার মঙ্গোডিবি ডাটাবেসের কিছু বাস্তব পথে পরিবর্তন করুন।

আমার পোস্টটি যদি কাউকে সহায়তা করে তবে আমি খুশি হব ...


0

এনপিএম মডিউলটি মংডব্বে খুঁজুন .. নোড_মডিউলগুলি ong মোংডব \ নোড_মডিউলগুলি \ বিসন \ এক্সট্রা \ અનુডেক্স.জেএস

এবং ক্যাচ ব্লকে জেএস সংস্করণে পাথ পরিবর্তন করুন

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');
        }
    }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.