मैं Node.js का उपयोग करके "मॉड्यूल नहीं ढूँढ सकता" त्रुटि को कैसे हल करूं?


615

GitHub से एक मॉड्यूल को नीचे खींचने और इसे बनाने के निर्देशों का पालन करने के बाद, मैं इसका उपयोग करके मौजूदा प्रोजेक्ट में खींचने की कोशिश करता हूं:

> 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.js मॉड्यूल नहीं पा सकते हैं:

> 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अपने मामले में। आपने ..npm इंस्टॉल पथ का उपयोग क्यों किया ?
एलेक्स वेन

1
"Npm install ../faye" को "npm install ../faye/build" में बदलने के बाद, यह अपेक्षा के अनुरूप काम करता है। मुझे नहीं पता कि यह कितना विशिष्ट है, लेकिन जब यह निर्मित होता है तो फे एक बिल्ड डायरेक्टरी बनाता है और पैकेज की एक प्रति डालता है। npm मूल स्तर पर package.json के बारे में शिकायत नहीं करता है, लेकिन यह उन फ़ाइलों का संदर्भ देता है जो उस स्तर पर मौजूद नहीं हैं।
डेव कॉसे

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

1
इस लिंक के माध्यम से जाओ , आपको कुछ विचार मिल सकते हैं जैसे कि कहाँ बिल्कुल अपने मॉड्यूल को देखने में विफल रहा है ..
अमोल एम कुलकर्णी

1
मौसम की जाँच करें आप उसी फ़ोल्डर में हैं जहां आपने इसे स्थापित किया था? यदि आपने इसे विश्व स्तर पर स्थापित नहीं किया है।
अश्वनी पंवार

जवाबों:


513

npm installमॉड्यूल का उपयोग केवल वर्तमान निर्देशिका में (एक उपनिर्देशिका कहा जाता है node_modules) में करता है। App.js के तहत स्थित है home/dave/src/server/? यदि नहीं और आप किसी भी निर्देशिका से मॉड्यूल का उपयोग करना चाहते हैं, तो आपको इसे विश्व स्तर पर उपयोग करके इंस्टॉल करना होगा npm install -g

मैं आमतौर पर अधिकांश पैकेज स्थानीय रूप से स्थापित करता हूं ताकि वे मेरे प्रोजेक्ट कोड के साथ जांच लें।

अपडेट (8/2019):

आजकल आप पैकेज- lock.json फ़ाइल का उपयोग कर सकते हैं , जो कि npm के आपके nod_modules निर्देशिका को संशोधित करने पर स्वचालित रूप से उत्पन्न होती है। इसलिए आप पैकेज में जाँच करना छोड़ सकते हैं, क्योंकि package-lock.jsonआपके नोड_मॉडल के सटीक संस्करण ट्रैक करते हैं, इस समय आप उपयोग कर रहे हैं। आदेश package-lock.jsonका package.jsonउपयोग करने के बजाय से पैकेज स्थापित करने के लिए npm ci

अपडेट (3/2016):

मुझे अपनी प्रतिक्रिया के लिए बहुत सारे फ्लैक मिले हैं, विशेष रूप से मैं उन पैकेजों में जांच करता हूं जो मेरा कोड निर्भर करता है। कुछ दिनों पहले, किसी ने उनके सभी पैकेजों ( https://kodfabrik.com/journal/i-ve-just-liberated-my-modules ) को अप्रकाशित कर दिया, जिसने रिएक्ट, बैबेल, और बस बाकी सब के बारे में तोड़ दिया। उम्मीद है कि अब यह स्पष्ट है कि यदि आपके पास उत्पादन कोड है, तो आप एनपीएम पर वास्तव में आपके लिए अपनी निर्भरता बनाए रखने पर भरोसा नहीं कर सकते।


264
"मैं आमतौर पर ज्यादातर पैकेज स्थानीय रूप से स्थापित करता हूं ताकि वे मेरे प्रोजेक्ट कोड के साथ जांच लें।" आमतौर पर यह package.jsonसूचीबद्ध करना बेहतर होता है कि आप किस npm मॉड्यूल पर निर्भर करते हैं और node_modulesफ़ोल्डर को अनदेखा करते हैं । इसके npm installबाद रेपो क्लोन करने के बाद बस सेटअप प्राप्त करें।
एलेक्स वेन

53
package.jsonनिर्भरता को सूचीबद्ध करने के अलावा , मैं उन चीजों की अच्छी प्रतियां रखना पसंद करता हूं, जिन पर मैं निर्भर हूं। डिस्क स्थान सस्ता है और अगर npm या npm से पैकेज गायब हो जाता है, तो भी मेरे पास मेरे रेपो में पूरी तरह से काम करने वाली परियोजना होगी।
बिल

165
एक पुराने डेवलपर के रूप में जब मैंने नोड देवों के "प्रतिमान" को पढ़ा तो लगभग चुटकी ली कि "डिस्क स्पेस सस्ता है"। मेरे पास पुस्तकालय हैं जिनका मैं उपयोग कर रहा हूं। यह विचार कि मेरे पास 100 प्रतियां हो सकती हैं (या इससे भी बदतर, NEAR प्रतियां) मेरे पेट को मोड़ देती हैं। डिस्क स्थान सस्ता है, लेकिन रखरखाव का समय महंगा है। शायद अगर आप एक-एक खिलौना परियोजना कर रहे हैं, तो रखरखाव सस्ता है। असली काम के लिए, हालांकि, रखरखाव महंगा है और डिस्क स्थान की लागत पर कोई असर नहीं है।
लॉयड सार्जेंट

65
मैं वास्तव में इस अंतिम टिप्पणी को नहीं समझता। कोई भी किसी भी कोड की 100 प्रतियां रखने के लिए नहीं कह रहा है, बस उस कोड की 1 कॉपी है जिसे आपकी परियोजना निर्भर करती है। यदि एनपीएम या निर्भरता एक दिन गायब हो जाती है, तो विकल्प एक गैर-कार्यात्मक परियोजना है। मुझे लगता है कि खरोंच से निर्भरता को फिर से लिखना भी काफी महंगा है। एक तरफ के रूप में, मैंने 10 साल के लिए Microsoft में काम किया और हमारे पास हमेशा 3 पार्टी निर्भरता थी जो हमारे स्रोत के पेड़ में जाँच की गई थी।
बिल

33
@LloydSargent के बाद "NEAR प्रतियां" खराब नहीं है , यह बेहतर है , क्योंकि प्रत्येक परियोजना में एक विशिष्ट निर्भरता है, जिसे आपने परिभाषित किया है, और आपके बाकी कोड निर्भर हैं। आप था ही आप अद्यतन करता है, तो उसके बाद कई परियोजनाओं भर संस्करणों कुछ भी आप करना होगा अद्यतन सब कुछ । पिनिंग निर्भरता टुकड़ों के उन्नयन-काफी कम रखरखाव की अनुमति देती है । असली काम, गैर-खिलौना परियोजनाएं।
डेव न्यूटन

459

मेरे पास एक समान मुद्दा था। पूरे node_modulesफ़ोल्डर को हटाना और मेरे लिए काम करना फिर से स्थापित करना:

rm -rf node_modules
npm install

13
मैं एक npm कैश भी साफ करूंगा, बस एक सुरक्षा चीज के रूप में :)
टोनी ताई गुयेन

1
जब भी एक अजीब निर्भरता मुद्दा पॉप अप npm install/ npm updateहल नहीं होगा कि एक अच्छा पहला समस्या निवारण कदम । इसने एक ऐसे मुद्दे को हल कर दिया जहां Error: Cannot find module 'http-errors'मैं अपने एक्सप्रेस ऐप को चलाने की कोशिश करने पर बेतरतीब ढंग से दिखाने लगा।
मैट वुकस

अद्भुत, @ लापरवाही से घोसी के जवाब ने एक लापता निर्भरता को हल किया। ऐसा लगता है कि उन्नयन और npm स्थापित के साथ अपग्रेड करने से चीजें ठीक नहीं रहती हैं।
ईल घीज 18

3
यहां एक लापता कदम दौड़ने से पहले अपनी पैकेज- lock.json फ़ाइल को निकालना है npm install
रिक क्वांट्ज़

इसने मेरे लिए काम नहीं किया, यहां तक ​​कि कंप्यूटर को भी पुनरारंभ किया;)
जेसन जी

83
npm install --save module_name

उदाहरण के लिए, यदि त्रुटि है:

{[त्रुटि: मॉड्यूल पा सकते हैं '/root/.npm/form-data'] कोड: 'MODULE_NOT_FOUND'}

तब आप कमांड निष्पादित करके इस समस्या को हल कर सकते हैं npm install --save form-data


1
ऐसा लगता है जब मैंने इसे विश्व स्तर पर स्थापित किया है npm / नोड-मॉड्यूल फ़ोल्डर खाली था और मैं इसका उपयोग करने की कोशिश कर रहा ng new project-nameथा कुछ मॉड्यूल गायब दिखाई दे रहे थे ... मुझे दिए गए कमांड का उपयोग करके प्रत्येक को स्थापित करना था। तब यह समस्या हल हुई लेकिन उन सभी को एक साथ स्थापित करने के लिए कोई एकल आदेश है?
विशाल नायर

25

टाइपस्क्रिप्ट उपयोगकर्ताओं के लिए, यदि आप एक अंतर्निहित नोड मॉड्यूल (जैसे http, pathया url) आयात कर रहे हैं और आपको कोई त्रुटि मिल रही है जैसे "Cannot find module "x"कि त्रुटि को चलाने से ठीक किया जा सकता है

npm install @types/node --save-dev

कमांड आपके प्रोजेक्ट में NodeJS टाइपस्क्रिप्ट परिभाषाओं को आयात करेगा, जिससे आप नोड के अंतर्निहित मॉड्यूल का उपयोग कर सकेंगे।


18

यह तब होता है जब पहली एन.पी.एम. स्थापित किसी कारण (SpmINT of npm) के लिए क्रैश हो गई है, या कि विलंब बहुत लंबा था, या डेटा दूषित है। एक npm स्थापित करने की कोशिश फिर से समस्या को बचाने नहीं होगा।

Npm पहले चेक पर कुछ गड़बड़ हो गई है, इसलिए फ़ाइल को हटाने और npm इंस्टॉल को पुनरारंभ करने के लिए सबसे अच्छा विकल्प है।


16
इसने मेरे लिए समस्या का निदान किया। मैंने अपना मुद्दा ठीक करने के लिए npm cache clearनोड_मॉडल्स का पालन और समाशोधन किया npm install
मेकलेरियन

9

यदि आप nvm का उपयोग करते हैं, तो जांचें कि मौजूदा नोड_मॉडल जो अन्य पुस्तकालयों के लिए बाइंडिंग हैं, सही Node.js संस्करण के लिए संकलित किए गए हैं।

मुझे वही त्रुटि हो रही थी। निम्नलिखित कारण थे: हम nvm का उपयोग करते हैं क्योंकि हम एक सर्वर पर दो ऐप चला रहे हैं, एक को Node.js 5.6 की आवश्यकता होती है क्योंकि यह नोड-जीडी (जो अब के लिए Node.js 6 पर नहीं चलता है) का उपयोग करता है, दूसरे की आवश्यकता होती है Node.js 6. Node.js 6 उपयुक्त- स्थापना है।

इसके अलावा, हम तैनात करने के लिए pm2 टूल का उपयोग करते हैं।

इसलिए, डिफ़ॉल्ट सेटअप यह है कि pm2 प्रक्रिया तब शुरू होती है जब nvm प्रभाव में नहीं होता है, इसलिए यह Node.js (संस्करण 6) की उपयुक्त-स्थापना का उपयोग करता है। तो मुख्य pm2 डेमन Node.js 6 के साथ शुरू होता है। अगर मैं कांटा मोड में एप्लिकेशन चलाता हूं तो वे अलग-अलग प्रक्रियाओं में शुरू होते हैं और एनवीएम सेटिंग्स प्रभावी होती हैं। जब मैं क्लस्टर मोड में एप्लिकेशन चलाता हूं - तो वे गैर-एनवीएम वातावरण को विरासत में लेते हैं।

इसलिए जब मैंने क्लस्टर मोड पर स्विच करने की कोशिश की तो एप्लिकेशन शुरू होने में विफल रहा क्योंकि इस संदेश के साथ 5.6 के लिए संकलित बाइंडिंग विफल हो गई।

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


आप कैसे जांचते हैं?
Tamj0rd2

8

जांचें कि क्या एनवायरनमेंट वैरिएबल NODE_PATH को सही तरीके से सेट किया गया है और नोड_मॉडल पथ की ओर इशारा किया गया है। नोड्ज पुस्तकालयों की खोज के लिए इस चर का उपयोग करते हैं


मैंने इसे तत्काल हल कर दिया क्योंकि इससे मेरी तत्काल समस्या हल हो गई, और मुझे इस नोड के लिए भेज दिया । लेकिन मुझे लगता है कि यह एक कंबल उत्तर नहीं है, क्योंकि प्रलेखन मॉड्यूल का पता लगाने के लिए वैकल्पिक रणनीतियों को इंगित करता है।
ग्राहम क्लीं

6

मैंने कल इस त्रुटि का अनुभव किया। मुझे यह महसूस करने में थोड़ा समय लगा कि mainप्रवेश package.jsonएक फ़ाइल की ओर इशारा कर रहा था जिसे मैंने स्थानांतरित किया था। एक बार जब मैंने अपडेट किया कि त्रुटि गायब हो गई और पैकेज ने काम किया।


2
पवित्र गाय ... हताशा से बाहर मैंने Google में "त्रुटि: मॉड्यूल ढूंढ नहीं सकता" टाइप किया, और यह प्रश्न पाया। आपके जवाब ने मेरी समस्या तय कर दी। मैं इस तरह के अस्पष्ट खोज शब्द को सही जवाब नहीं मान सकता। आप और गूगल के लिए यश!
जामुन होल्मग्रेन

1
बहुत बहुत यह। मैं mainएक निर्देशिका में अपने सबमॉड्यूल के लिए प्रविष्टि को इंगित करने में कामयाब रहा था जिसे इसके भंडार से बाहर रखा गया था, इसलिए जब मैंने npm installइसे काम करने के माध्यम से शामिल करने की कोशिश की , लेकिन जब आवश्यक हो तो कोई निर्यात नहीं मिला! इस स्पष्ट लेकिन उपयोगी उत्तर के लिए बहुत धन्यवाद।
ड्रैगोस

इसके लिए धन्यवाद। मेरे पास यार्न वर्कस्पेस का उपयोग करते समय यह स्थिति थी, इसलिए पथ रिज़ॉल्यूशन एल्गोरिदम और सभी प्रकार के लिए देख रहा था। :) मुझे मॉड्यूल को 'पता लगाने' की त्रुटि संदेश वार्ता के तरीके से फेंक दिया गया था, और यह भी कि ESLint भी इसी तरह के त्रुटि संदेश दे रहा था। और फिर मैंने आपका उत्तर देखा और मुझे महसूस हुआ कि मैं एक मंदबुद्धि व्यक्ति था। धन्यवाद!
मार्क बिर्बेक

5

node_moduleअपने प्रोजेक्ट से अपना रूट फ़ोल्डर निकालें (जैसे:) myAppmyAppफोल्डर में जाएं और फिर टर्मिनल से कमांड के नीचे टाइप करें

>myApp>npm install

यह आपकी परियोजना के लिए आवश्यक सभी निर्भरता मॉड्यूल स्थापित करेगा।


क्या आप कृपया अपने समाधान के बारे में थोड़ा और विवरण जोड़कर अपने उत्तर को विस्तृत कर सकते हैं?
अबरीसोन

5

इस त्रुटि का सामना तब किया जा सकता है यदि आप requireएक ऐसे मॉड्यूल का उपयोग कर रहे हैं main, जिसके पैकेज में एक लापता या गलत फ़ील्ड है। यद्यपि मॉड्यूल स्वयं स्थापित है, npm / नोड को अपने मॉड्यूल के लिए एक प्रविष्टि के रूप में एक .js फ़ाइल का उपयोग करना होगा। यदि mainफ़ील्ड नहीं है, तो यह index.jsआपके मॉड्यूल के फ़ोल्डर में देखने के लिए डिफॉल्ट करता है । यदि आपके मॉड्यूल की मुख्य फ़ाइल को index.js नहीं कहा जाता है, तो यह सक्षम नहीं होगाrequire

browserifyएक कॉन्सटेबल मॉड्यूल को एक कॉनजेजेएस-योग्य मॉड्यूल में बदलते समय require; browserifyलापता mainक्षेत्र के बारे में परवाह नहीं की , और इसलिए त्रुटि किसी का ध्यान नहीं गया।


4

रेस्टलर फ़ोल्डर के लिए पथ निर्दिष्ट करें, जो कि नोड_मॉडल फ़ोल्डर के अंदर होगा जैसे: var rest = आवश्यकता ('./ नोड_modules / restler');

इसने मेरे लिए काम किया।


3

यदि आप टाइपस्क्रिप्ट का उपयोग कर रहे हैं और सभी नोड मॉड्यूल को स्थापित करने के बाद एक त्रुटि हो रही है तो हटा दें package-lock.json। और फिर चला npm install


2

प्रो टिप:

थकान और हल्की बीमारी से लड़ते हुए मुझसे यह त्रुटि हुई, क्योंकि मैंने node blahइसके बजाय टाइप किया था npm blah

प्राप्त त्रुटि संदेश मुझे अपने स्वयं के मूर्खता के प्रति सचेत करने के लिए पर्याप्त गुस्सा नहीं था!


2

मुझे उसी समस्या का सामना करना पड़ा जब टीम में किसी और package.jsonने SVN में अपडेट किया। केवल node_modulesनिर्देशिका को हटाने से मदद नहीं मिली। मैंने समस्या हल कैसे की है:

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

आशा है कि यह किसी की मदद करता है!


याद दिलाने के लिए शुक्रिया। मेरे मामले में यह पैकेज-लॉक था। फिर से चीजों को गड़बड़ाना, लेकिन इसे हटाने और नोड_मॉड्यूल्स के बाद फिर से चलना npm installसब ठीक है।
TaeKwonJoe

6
यदि आप हटाते हैं package.jsonकि एनपीएम को कैसे पता है कि क्या स्थापित करना है?
माइकल

1

मैं जांच के लिए एक और स्थान जोड़ सकता हूं; जिस पैकेज का मैं उपयोग करने की कोशिश कर रहा था, वह मेरा अपना एक पैकेज था जिसे मैंने एक निजी एनपीएम रेपो में प्रकाशित किया था। मैं पैकेज में 'मुख्य' संपत्ति को कॉन्फ़िगर करना भूल गया था। ठीक से। इसलिए, पैकेज उपभोग पैकेज के नोड_मॉडल्स फ़ोल्डर में था, लेकिन मुझे "मॉड्यूल नहीं मिल रहा" था। मुझे अपनी गड़गड़ाहट का एहसास करने में कुछ मिनट लगे। :-(


1

मेरे मामले में मेरे पास UNMET PEER DEPENDENCY redux@^3.0.0यह त्रुटि संदेश था, उन सभी को देखें और लापता मॉड्यूल को फिर से स्थापित करें - save का उपयोग करके

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 निर्यात का उपयोग करते हुए Im, उदाहरण के लिए मॉड्यूल जैसा दिखता है:

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एक अन्य परियोजना के बाद (कोई भी ES2015) मुझे नहीं करना था

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

वास्तव में आयातित पैकेज मिला है।

उम्मीद है की वो मदद करदे!


0

के webpackसाथ उपयोग करते समय इस समस्या का सामना किया webpack-dev-middleware

एक फ़ाइल को एक फ़ोल्डर में बदल दिया था ।

चौकीदार को नया फोल्डर नहीं दिख रहा था और मॉड्यूल अब गायब था।

प्रक्रिया को पुनरारंभ करके फिक्स्ड।


0

बस एक असामान्य परिदृश्य मिला जो किसी के लिए उपयोग हो सकता है और एक लाल हेरिंग की तरह है।

मैं भी मॉड्यूल त्रुटि नहीं मिल रहा था, लेकिन अजीब तरह से सब कुछ मेरे स्थानीय (मैक होस्ट) Node.js वातावरण में पूरी तरह से काम किया। यह समस्या केवल तब दिखाई दी जब कोड हमारे लिनक्स सर्वर पर तैनात किया गया था।

खैर ... यह एक टाइपो निकला (जाहिरा तौर पर) मैक आधारित Node.js स्थापना को अनदेखा करने के लिए पूरी तरह से खुश था।

शामिल इस तरह देखा:

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

लेकिन वास्तविक फ़ाइल को "s3Uploader.class.js" कहा गया था

कोड और फ़ाइल नाम के बीच 's' बनाम 'S' में आवरण अंतर देखें।

तो - इस विषम मौके में कि यहां कोई भी अन्य समाधान आपकी समस्या को हल नहीं कर रहा है, ट्रिपल चेक करें कि आप अपने शामिल फ़ाइलनाम में पात्रों को गलत तरीके से आवरण नहीं दे रहे हैं! :)

और डीयूएच!


1
डिफ़ॉल्ट ओएक्सएक्स फाइलसिस्टम (एचएफएस +) के मामले में असंवेदनशील है ... बहुत पहले नहीं पता चला, यह निश्चित रूप से कॉन्फ़िगर करने योग्य है
जीआईयूएलपी

0

हो सकता है कि मेरी तरह आप भी ऐसे इंजन के सन्दर्भ में 'व्यू इंजन' सेट करें जो मौजूद नहीं है, या एक अपंजीकृत टेंपलेटिंग इंजन का उपयोग करने की कोशिश की गई है। सुनिश्चित करें कि आप उपयोग करते हैं: app.engine('engine name',engine) app.set('view engine','engine name')


0

कृपया नया CLI v3 (npm install -g ionic @ latest) स्थापित करें।

यदि यह समस्या अभी भी CLI v3 में एक समस्या है। धन्यवाद!


0

यदि पैकेज स्थापित सफलतापूर्वक आपके नोड_मॉडल फ़ोल्डर में जाता है, तो फ़ाइल और पथ की जांच करें। फिर आयात करें। उम्मीद है की यह मदद करेगा।


-3

सबसे पहले, हाँ, मेरे उत्तर का एक हिस्सा निश्चित रूप से ओपी द्वारा पोस्ट की गई त्रुटि को हल करने में मददगार है । दूसरे, नीचे दिए गए कदम की कोशिश करने के बाद, मुझे कुछ अन्य त्रुटियों का सामना करना पड़ा, और इसलिए, उन लोगों के समाधान को भी लिखा है।

(Psst! मुझे यकीन नहीं है कि अगर मैंने उपरोक्त त्रुटि को हल करने में सफलतापूर्वक मदद की है, या अगर मैंने उत्तर देने के कुछ नियम या प्रारूप को तोड़ दिया है, लेकिन मुझे उपरोक्त त्रुटि और कुछ अन्य का सामना करना पड़ा और मुझे खोजने में बहुत समय लगा। उन त्रुटियों के लिए उचित समाधान। मैं पूरा समाधान लिख रहा हूं क्योंकि यदि कोई अन्य व्यक्ति भी इन त्रुटियों का सामना करता है, तो वह उम्मीद करता है कि यहां समाधान मिल जाएगा।)

इसलिए प्रशांतिदेवी द्वारा दिए गए उत्तर को जोड़ना, और विस्तृत करना , और मेरे व्यक्तिगत अनुभव को भी जोड़ना, यहाँ यह है:

मैं पूरे e2e और यूनिट टेस्ट भाग में नया हूं। मैंने प्रोटेक्टर से इस हिस्से को देखना शुरू किया । अब मेरे पास पहले से ही फाइलें थीं जिनमें परीक्षण लिखे गए थे, लेकिन मुझे परीक्षण चलाने थे।

मैंने पहले ही सभी आवश्यक सॉफ्टवेयर्स और टूल इंस्टॉल कर लिए थे, लेकिन जब मैंने शुरू में परीक्षण चलाने के लिए कोड चलाया gulp itest, तो मुझे यह 'मॉड्यूल नहीं मिल रहा' त्रुटि मिली । एसओ पर कई अलग-अलग प्रश्नों से गुजरने के बाद, मुझे एक उत्तर मिला कि मुझे लगा कि समाधान प्राप्त करने में मदद मिल सकती है।

उस व्यक्ति ने npm installमेरे प्रोजेक्ट फ़ोल्डर में कमांड चलाने का सुझाव दिया था ।

ऐसा करने का कारण सभी आवश्यक और आवश्यक फ़ाइलों और निर्भरताओं के साथ, हमारे प्रोजेक्ट फ़ोल्डर के अंदर नोड-मॉड्यूल फ़ोल्डर को अपडेट करना था ।

(नीचे का हिस्सा शायद इस सवाल से अप्रासंगिक है, लेकिन अगर किसी को भी उसी स्थिति में मदद मिलेगी जो मुझे सामना करना पड़ा।)

उपरोक्त चरण ने निश्चित रूप से मेरी पिछली त्रुटि को हल किया , लेकिन एक नया फेंक दिया! इस बार होने वाली त्रुटिCould not find chromedriver at '..\node_modules\protractor\selenium\chromedriver'

हालाँकि, इस त्रुटि का समाधान मेरे लिए बहुत मूर्खतापूर्ण (और मज़ेदार) था। मेरे सेलेनियम फ़ोल्डर में पहले से ही क्रोमेड्रिवर फ़ाइल थी । लेकिन, यह पता चला है कि उपरोक्त त्रुटि आ रही थी क्योंकि मेरी क्रोमेड्रिवर फाइलें सेलेनियम फ़ोल्डर के अंदर थीं और क्रोमेड्रिवर फ़ोल्डर के अंदर नहीं । तो, एक chromedriver फ़ोल्डर बनाने और वहाँ chromedriver फ़ाइलों की नकल मेरी समस्या हल!

इसके अलावा, त्रुटि के लिए: वेबड्राइवर सर्वर के इंतजार में , आप कोड की इस लाइन को conf.jpg फ़ाइल में जोड़ सकते हैं exports.config{}:

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

उम्मीद है की यह मदद करेगा!


-4

मुझे इस मुद्दे को हल करने के लिए सरल समाधान मिला।

बस C: \ Users \ UserName \ AppData \ Roaming \ npm निकालें

और फिर नोड स्थापित करें।

अब आपकी समस्या दूर हो जाएगी।


वह यूनिक्स का उपयोग कर रहा है। विंडोज नहीं।
सैफ अल फलाह

-4

केवल निम्न आदेश चलाएँ:

npm install

यह node_modulesफ़ोल्डर में सभी आवश्यक मॉड्यूल स्थापित करेगा ।



-38

निर्देशिका को बदलें और अपने वर्तमान प्रोजेक्ट फ़ोल्डर को इंगित करें और फिर "एनपीएम इंस्टॉल करें"। ।

यह आपके प्रोजेक्ट फ़ोल्डर में सभी निर्भरता और मॉड्यूल स्थापित करेगा।


2
यह उत्तर गलत नहीं लगता है, मुझे लगता है कि नकारात्मक मतदान कुछ पूर्वाग्रह और समर्थन व्यंग्यात्मक टिप्पणियों का परिणाम है।
मुक़्तसथ

2
कि बहुत नीचे की ओर थोड़ा बहुत है। यह पूरी तरह से अस्पष्ट नहीं है। यह स्वीकृत उत्तर से संबंधित है। सभी उत्तर कहते हैं npm installकि सही निर्देशिका में करना है। इसके बारे में कुछ भी नकारात्मक नहीं है
shinobi
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.