আনকচড ত্রুটি: মডিউল স্ব-নিবন্ধন করেনি


92

আমি nw.js (v0.12.0-alpha2) এর সাথে নোড-ভিএলসি ব্যবহার করার চেষ্টা করি। আমি যখন এনডব্লিউজেএস ছাড়াই আমার অ্যাপ্লিকেশন চালু করি তখন এটি কাজ করে তবে আমি যখন এনডব্লিউজেএস দিয়ে এটি চালু করি তখন আমার একটি ত্রুটি হয়েছিল:

আনচাট ত্রুটি: মডিউল স্ব-নিবন্ধন করে নি ""

আমি এনডাব্লু-জিপ দিয়ে কিছু কমান্ড চেষ্টা করেছি কিন্তু এটি আমার সাহায্য করতে পারেনি। আমি উবুন্টু 14, 64-বিটে রয়েছি।


6
ওমরের উত্তর চিহ্নিত করার বিষয়টি দয়া করে বিবেচনা করুন। এটি সমস্যার সমাধান করেছে।
আয়নিক বিজাউ 14 '13

উত্তর:


155

আপনি যদি নোড আপগ্রেড করেছেন তবে npm rebuildআপনার জন্য এটি ঠিক করতে পারে


4
আপনার সত্যিকারের রুট অ্যাক্সেসের প্রয়োজন না জানা আপনি অবশ্যই এটি sudo ছাড়াই চালাবেন । আপনি বিশ্বব্যাপী ইনস্টলড মডিউলগুলি (যা সাধারণত নিরুৎসাহিত করা হয়) এর সাথে ডিল না করে আপনার রুট প্রয়োজন হবে না।
gfxmonk

8
আমার জন্য কাজ করে নি, কিন্তু rm -r node_modulesতারপর npm install কাজ করেছেন
Spc_555

4
কেবলমাত্র আপগ্রেড হওয়াতে সীমাবদ্ধ নয়, এনপিএম এবং নোড ইত্যাদি পুনরায় ইনস্টল করার ক্ষেত্রেও কাজ করুন
কেভিন

এটি আসলে প্রশ্নের উত্তর দেয় না। সমস্যাটা কি? আমি এই ত্রুটিটি ইলেক্ট্রনজেএস-এ কোনও ওয়েব কর্মীর কাছ থেকে 'ইউএসবি' লোডিংয়ে পেয়েছি। এর অর্থ কী তা ধারণা নেই, সমস্যাটি কী তা আপনি ব্যাখ্যা করতে পারেন?
পিটারটি


18

অন্য একটি পণ্যের সাথে আমার একই রকম সমস্যা ছিল এবং আমার ফিক্সটি হ'ল আমি ব্যবহার করছি নোডের সংস্করণটি পরিবর্তন করা। আমি ব্যবহার করে 0.12.0ফিরে এসেছি 0.10.26

ব্যক্তিগতভাবে, আমি নোড সংস্করণ পরিবর্তন হ্যান্ডেল করতে NVM ব্যবহার করি । এনভিএম ইনস্টল করে এটি চালানোর মতোই সহজ

nvm use 0.10.26

বা ডিফল্ট সংস্করণ 0.10.26 এ সেট করে

nvm alias default 0.10.26

আশা করি এটি আপনাকে সহায়তা করে - আমাদের সমস্যাগুলি বিভিন্ন পণ্য থেকে আসে তবে সমাধান একই হতে পারে।


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

9

আমারও একই সমস্যা ছিল

/ ব্যবহারকারী / ব্যবহারকারীর / নোডএডনস / ব্রিজে / নোড_মডিউলস / বাইন্ডিংস / বিল্ডিংস.জেএস:83 ত্রুটি: মডিউলটি স্ব-নিবন্ধন করে নি।

আমার ক্ষেত্রে আমি একটি সি / সি ++ অ্যাড-অন করছিলাম, এবং আমি অ্যাড-অনটি রপ্ত করতে ভুলে গিয়েছিলাম, আমার মেইন.সি.সি.তে নীচের কোডটি অনুপস্থিত ছিল:

void Init(v8::Handle<v8::Object> exports) {
  NODE_SET_METHOD(exports, "method", method);
}

NODE_MODULE(method, Init);

আশা করি এটি অন্যকে সহায়তা করবে! ধন্যবাদ :)


আপনার (Y) জন্য খুশি: ডি
আয়ন

3

মাল্টি-ফাইল সি ++ অ্যাডোন তৈরি করার সময় আমার একবার এই সমস্যা হয়েছিল। আমার বাইন্ডিং.g টাইপ ফাইলটিতে আমি ছিলাম:

"sources": ["src/*.cc", "src/*.h" ]

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


2

আমার জন্য, npm updateকাজ চলছে


এটি করতে পারে তবে প্যাকেজটি পুরানো হলেই। এটি চাওয়া ছাড়াও অন্য কিছু করে। npm rebuildবা rm -rf node_modules && npm iসঠিক উত্তর।
আলবিন


1

আমি একই সমস্যাটি যুক্ত করেছি কারণ আমি সুডো হিসাবে মডিউলগুলিতে ইনস্টল করেছি ... নোড মডিউলগুলির ফোল্ডারটি সরানো এবং সাধারণ ব্যবহারকারী হিসাবে পুনরায় ইনস্টল করা এটি ঠিক করেছে।


4
পারফেক্ট Chown ব্যবহার করে ফোল্ডারের মালিকানা পরিবর্তন করেছি এবং এনপিএম দিয়ে সুডো ছাড়াই পুনরায় ইনস্টল করেছি। এটা কাজ করেছে.
আশীষ

1

আমার জন্য npm rebuildবা npm updateকাজ হয়নি। আমাকে node_modulesফোল্ডারটি সরিয়ে npm installআবার ইনস্টল করতে চালাতে হয়েছিল।


0

আমারও একই সমস্যা ছিল। আমার স্ক্রিপ্ট যা বিশ্বব্যাপী রেফারেন্স স্ক্রিপ্ট উল্লেখ করছে একটি অবৈধ রেফারেন্স ছিল। আমি সেই অবৈধ রেফারেন্সটি বন্ধ করে দিয়েছি এবং ত্রুটিটি চলে গেছে। আমার ত্রুটি বার্তায় সেই নির্দিষ্ট অবৈধ রেফারেন্সের কোনও ইঙ্গিত ছিল না যা ডিবাগ করা আরও কঠিন করে তোলে। তবে 'আনচাট ত্রুটি: মডিউলটি স্ব-নিবন্ধন করেনি' আমি যে বার্তাটি পাচ্ছিলাম তা ছিল।

এটি আমার অন্যান্য প্রকল্পেও ঘটে। কোনও কারণে, কোনও একটি অক্ষর বড় হলে এটি রেফারেন্সের পথটি চিনতে পারে না। এমনকি ভেবেছিল, উপরের আবরণটি ছিল সঠিক পথের বানান।


-1

আমিও একই সমস্যার মুখোমুখি ছিলাম এবং এটি আমার পক্ষে কাজ করেছিল।

আপনাকে নোড_মডিউল / এ যেতে হবে এবং নিম্নলিখিত কমান্ডের মাধ্যমে এনডাব্লু-জিপ লক্ষ্যটি কনফিগার করতে হবে

$ nw-gyp configure --target=0.12.3 

তারপর

$ nw-gyp build

এবং এটি আমার পক্ষে কাজ করেছিল। আপনি যদি এনডাব্লু-জিপ কমান্ডটি না পেয়ে থাকেন তবে ব্যবহার করুন

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