নোড.জেএস ব্যবহার করে আমি কীভাবে "মডিউলটি পাই না" ত্রুটিটি সমাধান করব?


615

গিটহাব থেকে একটি মডিউল টানতে এবং এটি নির্মাণের নির্দেশাবলী অনুসরণ করার পরে, আমি এটি ব্যবহার করে এটি একটি বিদ্যমান প্রকল্পে টানতে চেষ্টা করি:

> npm install ../faye

এটি কৌশলটি প্রদর্শিত হচ্ছে:

> npm list
/home/dave/src/server
└─┬ faye@0.7.1
  ├── cookiejar@1.3.0
  ├── hiredis@0.1.13
  └── redis@0.7.1

তবে নোড.জেএস মডিউলটি খুঁজে পাচ্ছে না:

> node app.js
node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
Error: Cannot find module 'faye'
    at Function._resolveFilename (module.js:334:11)
    at Function._load (module.js:279:25)
    at Module.require (module.js:357:17)
    at require (module.js:368:17)
    at Object.<anonymous> (/home/dave/src/server/app.js:2:12)
    at Module._compile (module.js:432:26)
    at Object..js (module.js:450:10)
    at Module.load (module.js:351:31)
    at Function._load (module.js:310:12)
    at Array.0 (module.js:470:10)

আমি সত্যিই এখানে কী চলছে তা বুঝতে চাই, তবে পরবর্তী দিকে কোথায় তাকানো যায় তা নিয়ে আমি কিছুটা ক্ষতির মধ্যে আছি। কোন পরামর্শ?


8
node_modulesডিরেক্টরি, আপনার প্রকল্পের রুট করা alongisde বলে আশা করা হচ্ছে app.jsআপনার ক্ষেত্রে। আপনি ..এনপিএম ইনস্টল করার পথটি কেন ব্যবহার করলেন?
অ্যালেক্স ওয়েন

1
"এনপিএম ইনস্টল ../faye" "এনপিএম ইনস্টল ../faye/build" এ পরিবর্তন করার পরে এটি প্রত্যাশার মতো কাজ করে। আমি জানি না এটি কতটা সাধারণ, তবে ফ্যাই একটি বিল্ড ডিরেক্টরি তৈরি করে যখন এটি নির্মিত হয় এবং সেখানে প্যাকেজ.জসনের একটি অনুলিপি রাখে। এনপিএম মূল স্তরটিতে প্যাকেজ.জসন সম্পর্কে অভিযোগ করে না, তবে এটি সেই ফাইলগুলিকে রেফার করে যা সে স্তরে বিদ্যমান নেই।
ডেভ কজেই

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

1
এই লিঙ্কটি দিয়ে দেখুন , আপনি কিছু ধারণা পেতে পারেন ঠিক কোথায় এটি আপনার মডিউলগুলি অনুসন্ধান করতে ব্যর্থ হয়েছে ..
আমল এম কুলকার্নি

1
আপনি যে একই ফোল্ডারে এটি ইনস্টল করেছেন সেখানে আবহাওয়া পরীক্ষা করুন? যদি আপনি এটি বিশ্বব্যাপী ইনস্টল না করে থাকেন।
আশ্বানি পানওয়ার

উত্তর:


513

ব্যবহার npm installশুধুমাত্র বর্তমান ডিরেক্টরির (ক সাব ডেকে মধ্যে ইনস্টলসমূহ মডিউল node_modules)। App.js এর অধীন অবস্থিত home/dave/src/server/? যদি না হয় এবং আপনি কোনও ডিরেক্টরি থেকে মডিউলটি ব্যবহার করতে চান তবে আপনাকে এটি বিশ্বব্যাপী ব্যবহার করে ইনস্টল করতে হবে npm install -g

আমি সাধারণত স্থানীয়ভাবে বেশিরভাগ প্যাকেজ ইনস্টল করি যাতে তারা আমার প্রকল্প কোডের সাথে চেক ইন করে।

আপডেট (8/2019):

আজকাল আপনি প্যাকেজ-লক.জসন ফাইলটি ব্যবহার করতে পারেন যা এনপিএম আপনার নোড_মডিউলগুলির ডিরেক্টরিটি সংশোধন করলে স্বয়ংক্রিয়ভাবে উত্পন্ন হয়। অতএব আপনি প্যাকেজগুলিতে চেক আউট করতে পারেন কারণ package-lock.jsonআপনার নোড_মডিউলগুলির সঠিক সংস্করণগুলি ট্র্যাক করে আপনি বর্তমানে ব্যবহার করছেন। থেকে প্যাকেজ ইনস্টল করার জন্য package-lock.jsonপরিবর্তে package.jsonব্যবহার কমান্ড npm ci

আপডেট (3/2016):

আমি আমার প্রতিক্রিয়ার জন্য প্রচুর ঝাঁকুনি পেয়েছি, বিশেষত যে আমার কোডটি নির্ভর করে এমন প্যাকেজগুলিতে আমি চেক করি। কিছু দিন আগে, কেউ তাদের সমস্ত প্যাকেজ ( https://kodfabrik.com/j Journal/i-ve-just-liberated-my-modules) অপ্রকাশিত করে যা প্রতিক্রিয়া, বাবেল এবং অন্য সব কিছু ভেঙেছে। আশা করি এটি এখন পরিষ্কার হয়ে গেছে যে আপনার যদি প্রোডাকশন কোড থাকে তবে আপনি আপনার জন্য নির্ভরতা বজায় রাখতে এনপিএমের উপর নির্ভর করতে পারবেন না।


264
"আমি সাধারণত স্থানীয়ভাবে বেশিরভাগ প্যাকেজ ইনস্টল করি যাতে তারা আমার প্রকল্প কোডের সাথে চেক ইন করে।" package.jsonআপনি যে এনটিএম মডিউলগুলির উপর নির্ভর করেন তার একটি তালিকা তৈরি করা এবং node_modulesফোল্ডারটি উপেক্ষা করার পক্ষে সাধারণত ভাল । তারপরে npm installআপনি রেপো ক্লোন করার পরে কেবল সেটআপ পেতে পারেন।
অ্যালেক্স ওয়েন

53
package.jsonনির্ভরতা তালিকাভুক্ত করার পাশাপাশি , আমি নির্ভর করি এমন জিনিসগুলির ভাল কপিগুলি রাখতে চাই। ডিস্কের স্থানটি সস্তা এবং যদি এনপিএম বা প্যাকেজটি এনএমপি থেকে অদৃশ্য হয়ে যায়, আমার রেপোতে আমার এখনও সম্পূর্ণরূপে কাজ করার প্রকল্প থাকবে।
বিল

165
একজন পুরানো বিকাশকারী হিসাবে আমি যখন নোড ডেভস "দৃষ্টান্ত" পড়ি যে "ডিস্কের জায়গা কম সস্তা" তখন আমি প্রায় দম বন্ধ করেছিলাম। আমার কাছে লাইব্রেরি রয়েছে যা আমি ব্যবহার করছি। আমার কাছে ১০০ টি অনুলিপি (বা আরও খারাপ নিকটবর্তী অনুলিপি) থাকতে পারে এই ধারণাটি আমার পেট ঘুরিয়ে দেয়। ডিস্ক স্থান সস্তা, তবে রক্ষণাবেক্ষণের সময় ব্যয়বহুল। সম্ভবত আপনি যদি এক-অফ খেলনা প্রকল্প করছেন, রক্ষণাবেক্ষণ সস্তা cheap সত্যিকারের কাজের জন্য, তবে রক্ষণাবেক্ষণ ব্যয়বহুল এবং ডিস্ক জায়গার ব্যয় নিয়ে তার কোনও প্রভাব নেই।
লয়েড সার্জেন্ট

65
আমি এই শেষ মন্তব্যটি সত্যিই বুঝতে পারি না। আপনার প্রকল্পের উপর নির্ভরশীল কোডের 1 টি অনুলিপি থাকার জন্য, কেউ কোনও টুকরো কোডের 100 কপি রাখতে বলছে না। বিকল্পটি হ'ল এনপিএম বা নির্ভরতা যদি একদিন অদৃশ্য হয়ে যায় তবে একটি অ-কার্যক্ষম প্রকল্প হবে। আমি মনে করি স্ক্র্যাচ থেকে নির্ভরতা পুনরায় লেখাও বেশ ব্যয়বহুল। অন্যদিকে, আমি মাইক্রোসফ্টে 10 বছর ধরে কাজ করেছি এবং আমাদের উত্স ট্রিতে সর্বদা আমাদের তৃতীয় পক্ষের নির্ভরতা পরীক্ষা করা ছিল।
বিল

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

459

আমার খুব অনুরূপ সমস্যা ছিল। পুরো node_modulesফোল্ডারটি সরিয়ে ফেলা এবং পুনরায় ইনস্টল করা আমার পক্ষে কাজ করেছে:

rm -rf node_modules
npm install

13
আমি সুরক্ষার মতোই একটি এনপিএম ক্যাশেও পরিষ্কার করতাম :)
টনি

1
সম্ভবত একটি ভাল প্রথম সমস্যা সমাধান পদক্ষেপ যখনই একটি অদ্ভুত নির্ভরতা ইস্যু পপ আপ যে npm install/ npm updateসমাধান করা হবে না। এটি এমন একটি সমস্যার সমাধান করেছে যেখানে Error: Cannot find module 'http-errors'আমি যখন আমার এক্সপ্রেস অ্যাপ্লিকেশন চালানোর চেষ্টা করেছি তখন এলোমেলোভাবে প্রদর্শিত শুরু হয়েছিল।
ম্যাট ভুকাস

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

3
এখানে একটি অনুপস্থিত পদক্ষেপ চালানোর আগে আপনার প্যাকেজ-লক.জসন ফাইলটি সরিয়ে ফেলা হয় npm install
রিক কোয়ান্টজ

এটি আমার পক্ষে কাজ করে না, এমনকি কম্পিউটার পুনরায় চালুও করে;)
জেসন জি

83
npm install --save module_name

উদাহরণস্বরূপ, যদি ত্রুটিটি হয়:

Error [ত্রুটি: মডিউল '/root/.npm/form-data'] খুঁজে পাওয়া যায় না: 'MODULE_NOT_FOUND' code

তাহলে আপনি কমান্ডটি কার্যকর করে এই সমস্যাটি সমাধান করতে পারেন npm install --save form-data


1
দেখে মনে হচ্ছে যখন আমি বিশ্বব্যাপী এটি ইনস্টল করেছি এনএমপি / নোড-মডিউল ফোল্ডারটি খালি ছিল এবং আমি ng new project-nameএটি ব্যবহার করার চেষ্টা করছিলাম তখন কিছু মডিউল অনুপস্থিত ছিল ... আমাকে প্রদত্ত কমান্ডটি ব্যবহার করে সেগুলি ইনস্টল করতে হয়েছিল hen তখন এটি সমস্যার সমাধান করেছে তবে তা সেগুলি একবারে ইনস্টল করার জন্য কোন একক আদেশ আছে?
বিশাল নায়ার

25

টাইপস্ক্রিপ্ট ব্যবহারকারীদের জন্য, আপনি যদি কোনও অন্তর্নির্মিত নোড মডিউল আমদানি করে থাকেন (যেমন http, pathবা url) এবং আপনি যেমন একটি ত্রুটি পেয়ে থাকেন "Cannot find module "x"তবে চালিয়ে ত্রুটিটি স্থির করা যেতে পারে

npm install @types/node --save-dev

কমান্ডটি আপনাকে নোডের অন্তর্নির্মিত মডিউলগুলি ব্যবহার করার অনুমতি দিয়ে নোডজেএস টাইপস্ক্রিপ্ট সংজ্ঞাগুলি আপনার প্রকল্পে আমদানি করবে।


18

এটি ঘটে যখন কোনও প্রথম এনপিএম ইনস্টল কোনও কারণে (এনপিএমের সাইন ইন) ক্র্যাশ হয়ে যায় বা এই বিলম্বটি খুব দীর্ঘ ছিল বা ডেটাটি নষ্ট হয়ে গেছে। আবার একটি এনপিএম ইনস্টল চেষ্টা করলে সমস্যা বাঁচবে না।

এনপিএমের প্রথম পরীক্ষায় কিছু ভুল হয়েছে, তাই ফাইলটি সরিয়ে নেওয়া এবং এনপিএম ইনস্টল পুনরায় চালু করা সবচেয়ে ভাল পছন্দ।


16
এটি আমার জন্য সমস্যাটি সনাক্ত করেছে। আমি আমার ইস্যুটি ঠিক করার জন্য npm cache clearনোড_মডিউলগুলি করে এবং ক্লিয়ার করে শেষ npm installকরেছি।
meklarian

9

আপনি যদি এনভিএম ব্যবহার করেন তবে পরীক্ষা করুন যে অন্যান্য নোডের সাথে যুক্ত নোড_মডিউলগুলি সঠিক নোড.জেএস সংস্করণের জন্য সংকলিত হয়েছে।

আমি একই ত্রুটি ছিল। কারণটি হ'ল: আমরা একটি এনভিএম ব্যবহার করি যেহেতু আমরা একটি সার্ভারে দুটি অ্যাপ চালাচ্ছি, একটিতে নোড.জেএস 5.6 প্রয়োজন কারণ এটি নোড-জিডি ব্যবহার করে (যা এখনই নোড.জেএস 6 এ চালায় না), অন্যটির প্রয়োজন নোড.জেএস 6. নোড.জেএস 6 হ'ল অ্যাপটি - গাই ইনস্টলেশন।

এছাড়াও আমরা মোতায়েনের জন্য pm2 সরঞ্জামটি ব্যবহার করি।

সুতরাং, ডিফল্ট সেটআপটি হ'ল এনভিএম কার্যকর না হলে pm2 প্রক্রিয়া শুরু হয়, সুতরাং এটি নোড.জেএস (সংস্করণ 6) এর অ্যাপটি-গেট ইনস্টলেশন ব্যবহার করে। সুতরাং প্রধান পিএম 2 ডেমনটি নোড.জেএস 6 দিয়ে শুরু হয় I আমি যদি কাঁটাচামচ মোডে অ্যাপ্লিকেশনগুলি চালনা করি তবে সেগুলি পৃথক প্রক্রিয়াতে শুরু হয় এবং এনভিএম সেটিংস কার্যকর হয়। যখন আমি ক্লাস্টার মোডে অ্যাপ্লিকেশনগুলি চালিত করি - তারা এন-এনভিএম পরিবেশের উত্তরাধিকারী।

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

এনভিএম সেটিং কার্যকর হওয়ার পরে আমি দুপুর ২ টা পুনরায় চালু করে ঠিক করেছি। এছাড়াও স্টার্টআপ স্ক্রিপ্টগুলি স্থির করতে হবে।


আপনি কিভাবে এটি চেক করবেন?
tamj0rd2

8

এনভায়ারমেন্ট ভেরিয়েবল NODE_PATH সঠিকভাবে সেট করা আছে এবং নোড_মডিউলগুলির পথে নির্দেশ করছে কিনা তা পরীক্ষা করুন। নোডেজ গ্রন্থাগারগুলির সন্ধানের জন্য এই পরিবর্তনশীলটি ব্যবহার করে


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

6

আমি গতকাল এই ত্রুটিটি অনুভব করেছি। আমাকে বুঝতে পেরেছিল যে mainএন্ট্রিটি package.jsonআমি সরানো একটি ফাইলের দিকে ইঙ্গিত করছে। একবার আমি আপডেট করেছি যে ত্রুটিটি অদৃশ্য হয়ে গেছে এবং প্যাকেজটি কাজ করেছে।


2
পবিত্র গরু ... হতাশার বাইরে আমি গুগলে "ত্রুটি: মডিউলটি খুঁজে পাচ্ছি না" টাইপ করেছি এবং এই প্রশ্নটি পেয়েছি। আপনার উত্তর আমার সমস্যা সমাধান করেছে। আমি বিশ্বাস করতে পারি না যে এই ধরনের অস্পষ্ট অনুসন্ধানের শব্দটি সঠিক উত্তরটি তৈরি করেছিল। আপনাকে এবং গুগলে কুদোস!
জ্যামন হল্মগ্রেন

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

এর জন্য ধন্যবাদ. সুতা ওয়ার্কস্পেসগুলি ব্যবহার করার সময় আমার এই অবস্থা ছিল, তাই পথের রেজোলিউশন অ্যালগরিদম এবং সমস্ত প্রকারের জন্য সন্ধান করছিলাম। :) ত্রুটি বার্তাটি মডিউলটির 'সন্ধান' করার কথা বলেছিল এবং ইএসলিন্টও অনুরূপ ত্রুটি বার্তা দিচ্ছিল by এবং তারপরে আমি আপনার উত্তরটি দেখেছি এবং বুঝতে পেরেছিলাম যে আমি একজন ডিম্বিট। ধন্যবাদ!
মার্ক বীরবেক

5

node_moduleআপনার প্রকল্প থেকে আপনার মূল ফোল্ডারটি সরান (যেমন myApp:)) myAppফোল্ডারে যান এবং তারপরে টার্মিনাল থেকে নীচের কমান্ডটি টাইপ করুন

>myApp>npm install

এটি আপনার প্রকল্পের জন্য প্রয়োজনীয় সমস্ত নির্ভরতা মডিউল ইনস্টল করবে।


আপনি যে উত্তরটি সরবরাহ করেন সে সম্পর্কে আরও কিছু বিবরণ যুক্ত করে আরও উত্তর দিতে পারেন?
অ্যাবারিসোন

5

আপনি যদি requireকোনও মডিউলটি mainপ্যাকেজ করে থাকেন তবে এর প্যাকেজ.জসনে কোনও হারিয়ে যাওয়া বা ভুল ক্ষেত্র রয়েছে This মডিউলটি নিজেই ইনস্টল হওয়া সত্ত্বেও, এনএমপি / নোডকে আপনার মডিউলে প্রবেশের স্থান হিসাবে একটি একক .js ফাইল ব্যবহার করতে হবে। যদি mainক্ষেত্রটি না থাকে তবে এটি index.jsআপনার মডিউলটির ফোল্ডারে সন্ধান করতে ডিফল্ট হয় । যদি আপনার মডিউলটির প্রধান ফাইলটিকে index.js না বলা হয় তবে requireএটি সক্ষম হবে না ।

একটি- browserifyভিত্তিক মডিউলটিকে কমনজেএস- requireসক্ষম মডিউলে পরিণত করার সময় আবিষ্কার হয়েছে ; browserifyঅনুপস্থিত mainক্ষেত্রটি সম্পর্কে চিন্তা করে না এবং তাই ত্রুটিটি নজরে পড়েছিল।


4

রিসেলার ফোল্ডারের পাথ নির্দিষ্ট করুন, যা নোড_মডিউলগুলি ফোল্ডারের অভ্যন্তরে থাকবে: var রেস্ট = প্রয়োজন ('./ নোড_মডিউল / রেস্টলার');

এটি আমার পক্ষে কাজ করেছে।


3

আপনি যদি সমস্ত নোড মডিউল ইনস্টল করার পরে টাইপস্ক্রিপ্ট ব্যবহার করে এবং ত্রুটি পেয়ে থাকেন তবে সরান package-lock.json। এবং তারপর চালান npm install


2

প্রো টিপ:

ক্লান্তি এবং হালকা অসুস্থতার সাথে লড়াই করার সময় আমার এই ত্রুটিটি ঘটেছে, কারণ আমি node blahপরিবর্তে টাইপ করেছি npm blah

প্রাপ্ত ত্রুটি বার্তাটি আমার নিজের বোকা সম্পর্কে আমাকে সতর্ক করতে যথেষ্ট রাগ করেনি!


2

package.jsonএসভিএন-তে দলের অন্য কেউ আপডেট হলে আমি একই সমস্যার মুখোমুখি হয়েছিলাম । নিছক node_modulesডিরেক্টরি মুছে ফেলা কোনও লাভ হয়নি। আমি কীভাবে সমস্যাটি সমাধান করেছি তা হ'ল:

rm -rf node_modules
rm package.json
rm package-lock.json
svn up
npm install
ng build --env=prod

আশা করি এটি কাউকে সাহায্য করবে!


অনুস্মারকটির জন্য ধন্যবাদ। আমার ক্ষেত্রে এটি প্যাকেজ-লক ছিল। জেসনগুলি আবারও বিশৃঙ্খলা তৈরি করে তবে এটিকে মুছে ফেলার পরে এবং নোড_মডিউলগুলি তারপরে npm installসমস্ত চলমান আবার ভাল।
তাইকওনজয়ে

6
যদি আপনি অপসারণ package.jsonকরেন তবে এনপিএম কীভাবে ইনস্টল করতে পারে তা জানে?
মিশা

1

আমি চেক করতে আরও একটি জায়গা যুক্ত করতে পারি; আমি যে প্যাকেজটি ব্যবহার করার চেষ্টা করছিলাম সেটি ছিল আমার নিজের প্যাকেজগুলির মধ্যে একটি যা আমি একটি বেসরকারী এনপিএম রেপোতে প্রকাশ করেছি। আমি প্যাকেজ.জসনে 'মূল' সম্পত্তিটি সঠিকভাবে কনফিগার করতে ভুলে গিয়েছিলাম। সুতরাং, প্যাকেজটি গ্রাহক প্যাকেজের নোড_মডিউলগুলি ফোল্ডারে ছিল, তবে আমি পেয়েছি "মডিউলটি খুঁজে পাচ্ছি না"। আমার ভুল বুঝতে পেরে আমাকে কয়েক মিনিট সময় নিয়েছে। :-(


1

আমার ক্ষেত্রে আমি UNMET PEER DEPENDENCY redux@^3.0.0এই ত্রুটি বার্তাটি সৃষ্টি করছিলাম , সেগুলি দেখুন এবং - সেভ ব্যবহার করে আবার অনুপস্থিত মডিউলগুলি ইনস্টল করুন

npm install redux --save

1

নোড / এনএমপি অপসারণ এবং তারপরে স্থিতিশীল (সর্বশেষ নয়) পুনরায় ইনস্টল করা আমার পক্ষে কাজ করেছে।

sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}

https://nodejs.org/en/download/


0

আমি আমার নিজস্ব প্যাকেজ প্রকাশ করার চেষ্টা করছিলাম এবং তারপরে এটিকে অন্য প্রকল্পে অন্তর্ভুক্ত করব। আমি প্রথম মডিউলটি কীভাবে তৈরি করেছি তার কারণে আমার সমস্যা ছিল। আমি মডিউলটি তৈরি করতে ES2015 রফতানি ব্যবহার করছি, উদাহরণস্বরূপ মডিউলটিকে দেখতে বলে:

export default function(who = 'world'){
    return `Hello ${who}`;
}

বাবেল এবং এর আগে প্রকাশিত হওয়ার আগে সংকলিত:

'use strict';

Object.defineProperty(exports, "__esModule", {
    value: true
});

exports.default = function () {
    var who = arguments.length <= 0 || arguments[0] === undefined ? 'world' : arguments[0];


    return 'Hello ' + who;
};

সুতরাং npm install module-nameঅন্য একটি প্রকল্পের পরে (কোনওটি ইএস ২০১৫ নয়) আমাকে করতে হয়েছিল

var hello = require('module-name').default;

আসলে প্যাকেজ আমদানি করা।

আশা করি এইটি কাজ করবে!


0

ব্যবহার webpackকরার সময় এই সমস্যাটি মোকাবিলা করেছে webpack-dev-middleware

একটি একক ফাইল একটি ফোল্ডারে পরিণত হয়েছিল ।

প্রহরী মনে হয়েছে যে নতুন ফোল্ডারটি না দেখায় এবং মডিউলটি এখন অনুপস্থিত।

প্রক্রিয়া পুনরায় চালু করে স্থির


0

সবেমাত্র একটি অস্বাভাবিক দৃশ্যের সন্ধান পেয়েছে যা কারওর জন্য কার্যকর হতে পারে এবং এটি এক ধরণের লাল রঙের হেরিং।

আমি মডিউল ত্রুটিটিও পাচ্ছি না তবে অদ্ভুতভাবে আমার স্থানীয় (ম্যাক হোস্টেড) নোড.জেএস পরিবেশে সবকিছুই নিখুঁতভাবে কাজ করেছে। এই সমস্যাটি তখনই উপস্থিত হয়েছিল যখন কোডটি আমাদের লিনাক্স সার্ভারে স্থাপন করা হয়েছিল।

ঠিক আছে ... এটি এমন একটি টাইপো পরিণত হয়েছিল যে (দৃশ্যত) ম্যাক ভিত্তিক নোড.জেএস ইনস্টলেশনটি উপেক্ষা করে পুরোপুরি খুশি হয়েছিল।

অন্তর্ভুক্তগুলি এর মতো দেখায়:

var S3Uploader = require('./S3Uploader.class');

তবে আসল ফাইলটিকে "s3Uploader.class.js" বলা হত

কোড এবং ফাইলের নামের মধ্যে 's' বনাম 'এস' এর কেসিং পার্থক্যটি লক্ষ্য করুন।

সুতরাং - এইরকম অদ্ভুত সুযোগে যে এখানে অন্য কোনও সমাধান আপনার সমস্যার সমাধান করছে না, ট্রিপল চেক করুন যে আপনি নিজের অন্তর্ভুক্ত ফাইলের নামগুলিতে অক্ষরগুলি ভুলভাবে আবদ্ধ করছেন না! :)

এবং ডিইউএইচ!


1
ডিফল্টরূপে ওএসএক্স ফাইল সিস্টেম (এইচএফএস +) সংবেদনশীল ... এটি খুব বেশি আগে খুঁজে পাওয়া যায় নি, এটি অবশ্যই কনফিগারযোগ্য
জিউল্প

0

সম্ভবত আমার মতো আপনি কোনও ইঞ্জিনের এক্সপ্রেসে 'ভিউ ইঞ্জিন' সেট করেছেন যা অস্তিত্বহীন, বা একটি অনিবন্ধিত টেম্প্লেটিং ইঞ্জিন ব্যবহার করার চেষ্টা করেছিলেন। আপনি যে ব্যবহার করেছেন তা নিশ্চিত করুন: app.engine('engine name',engine) app.set('view engine','engine name')


0

দয়া করে নতুন সিএলআই ভি 3 ইনস্টল করুন (এনপিএম ইনস্টল-জি আয়নিক @ সর্বশেষ)।

এই সমস্যাটি যদি এখনও সিএলআই ভি 3 তে একটি সমস্যা থাকে। ধন্যবাদ!


0

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


-3

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

(পিএসএস! আমি উপরের ত্রুটিটি সমাধানে সফলভাবে সাহায্য করেছি কিনা, বা আমি উত্তর দেওয়ার কিছু নিয়ম বা বিন্যাস ভেঙে ফেলেছি কিনা তা আমি নিশ্চিত নই, তবে আমি উপরের ত্রুটিটি এবং কিছু অন্যদের মুখোমুখি হয়েছি এবং এটি খুঁজে পেতে আমার অনেক সময় লেগেছে এই ত্রুটিগুলির যথাযথ সমাধান I'm আমি সম্পূর্ণ সমাধানটি লিখছি কারণ যদি অন্য কেউ যদি এই ত্রুটিগুলির মুখোমুখি হয় তবে তিনি আশাবাদী এখানে একটি সমাধান পেয়ে যাবেন))

সুতরাং প্রশান্তিদেবী প্রদত্ত উত্তরটি যুক্ত করে এবং বিশদভাবে জানিয়েছি এবং আমার ব্যক্তিগত অভিজ্ঞতাও যুক্ত করছি, এটি এখানে:

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

আমি ইতিমধ্যে সমস্ত প্রয়োজনীয় সফ্টওয়্যার এবং সরঞ্জাম ইনস্টল করে রেখেছি, তবে যখন আমি প্রাথমিকভাবে পরীক্ষা চালানোর জন্য কোডটি চালাতাম gulp itest, তখন আমি এই 'মডিউলটি খুঁজে পাচ্ছি না' ত্রুটি পেয়েছি । এসও-তে বিভিন্ন বিভিন্ন প্রশ্নের মধ্য দিয়ে যাওয়ার পরে আমি একটি উত্তর পেয়েছি যা আমি ভেবেছিলাম যে সমাধান পেতে সাহায্য করতে পারে।

ব্যক্তিটি npm installআমার প্রকল্প ফোল্ডারে কমান্ডটি চালানোর পরামর্শ দিয়েছিল ।

এটি করার কারণটি হ'ল আমাদের প্রকল্প ফোল্ডারের অভ্যন্তরে নোড-মডিউলগুলি ফোল্ডারটি প্রয়োজনীয় এবং প্রয়োজনীয় সমস্ত ফাইল এবং নির্ভরতা সহ আপডেট করা ।

(নীচের অংশটি সম্ভবত এই প্রশ্নের সাথে অপ্রাসঙ্গিক, তবে কেউ যদি আমার একই পরিস্থিতির মুখোমুখি হয় তবে তা সহায়ক হতে পারে))

উপরের পদক্ষেপটি অবশ্যই আমার পূর্ববর্তী ত্রুটিটি সমাধান করেছে , তবে একটি নতুন চাপ দিয়েছে! এবার ত্রুটি হচ্ছে Could not find chromedriver at '..\node_modules\protractor\selenium\chromedriver'

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

এছাড়াও, জন্য ত্রুটি: WebDriver সার্ভারের জন্য অপেক্ষা সময় শেষ হয়েছে , আপনি এই যোগ করতে পারিনি কোডের লাইন থেকে conf.js ফাইল ভিতরে exports.config{}:

seleniumAddress: 'http://localhost:8080/'

আশাকরি এটা সাহায্য করবে!


-4

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

কেবল সি: \ ব্যবহারকারীদের ব্যবহারকারী নাম \ অ্যাপডাটা \ রোমিং \ npm pm সরান

এবং তারপরে নোড ইনস্টল করুন।

এখন আপনার সমস্যার সমাধান হবে।


তিনি ইউনিক্স ব্যবহার করছেন। উইন্ডোজ নয়।
সাইফ আল ফালাহ

-4

কেবলমাত্র নিম্নলিখিত কমান্ডটি চালান:

npm install

এটি node_modulesফোল্ডারে প্রয়োজনীয় সমস্ত মডিউল ইনস্টল করবে ।



-38

ডিরেক্টরিটি পরিবর্তন করুন এবং আপনার বর্তমান প্রকল্প ফোল্ডারে নির্দেশ করুন এবং তারপরে "এনপিএম ইনস্টল করুন"। ।

এটি আপনার প্রকল্প ফোল্ডারে সমস্ত নির্ভরতা এবং মডিউল ইনস্টল করবে।


2
এই উত্তরটি ভুল বলে মনে হচ্ছে না, আমি মনে করি নেতিবাচক ভোটদান কিছু পক্ষপাত এবং সমর্থন করা ব্যঙ্গাত্মক মন্তব্যের ফলাফল।
মকশিথ

2
যে অনেক ডাউনভোটস কিছুটা বেশি। এটি সম্পূর্ণ অস্পষ্ট নয়। এটি গৃহীত উত্তরের সাথে সম্পর্কিত। সমস্ত উত্তর বলছে npm installসঠিক ডিরেক্টরি করা। এটি সম্পর্কে নেতিবাচক কিছুই নেই
shinobi
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.