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




(16)

Restler फ़ोल्डर के पथ को निर्दिष्ट करें, जो node_modules फ़ोल्डर के अंदर होगा जैसे: var rest = requ ('./ node_modules / restler');

यह मेरे लिए काम किया।

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

> npm install ../faye

ऐसा लगता है कि यह चाल है:

> npm list
/home/dave/src/server
└─┬ [email protected]
  ├── [email protected]
  ├── [email protected]
  └── [email protected]

लेकिन 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)

मैं वास्तव में यह समझना चाहता हूं कि यहां क्या हो रहा है, लेकिन मुझे थोड़ी देर लग रही है कि आगे कहां देखना है। कोई सुझाव?


अपने प्रोजेक्ट से अपने node_module रूट फ़ोल्डर को हटाएं (उदाहरण: myApp )। myApp फ़ोल्डर पर जाएं और फिर टर्मिनल से नीचे कमांड टाइप करें

>myApp>npm install

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


ऐसा तब होता है जब किसी कारण के लिए पहली npm इंस्टॉल क्रैश हो जाती है (एनपीएम का SIGINT), या देरी बहुत लंबी थी, या डेटा दूषित हो गया था। एक एनपीएम स्थापित करने का प्रयास करने से समस्या को बचाया नहीं जाएगा।

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


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

npm install

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


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

npm install @types/node --save-dev

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


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

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


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

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

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

इसमें शामिल हैं:

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

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

कोड और फ़ाइल नाम के बीच 'एस' बनाम 'एस' में आवरण अंतर पर ध्यान दें।

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

और डीयूएच!


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

बस सी: \ उपयोगकर्ता \ उपयोगकर्ता नाम \ AppData \ रोमिंग \ npm \

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

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


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

rm -rf node_modules
npm install

मेरे मामले में मेरे पास UNMET PEER DEPENDENCY [email protected]^3.0.0 जो इस त्रुटि संदेश का कारण बनता है, उन सभी को देखें और पुनः सहेजने वाले मॉड्यूल को फिर से इंस्टॉल करें

npm install redux --save

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


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


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


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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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


npm install --save module_name

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

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

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





node.js