होम·एरर संदेश

tsc · बिल्ड और टाइप

संदेश

error TS2307: Cannot find module 'lodash' or its corresponding type declarations.

इसका मतलब

tsc को न वह module मिला, न उसके लिए कोई type घोषणा, और यह मायने रखता है कि संदेश दोनों बातें कहता है — package पूरा ग़ायब हो सकता है, या स्थापित हो पर उसमें type न हों। यदि वह स्थापित है तो कमी type की है: npm i -D @types/lodash साथी package जोड़ देता है, हालाँकि आज के बहुत से package अपने type साथ लाते हैं और उनका @types ही नहीं होता। और यदि यह किसी सापेक्ष import पर आए तो अक्षरों के बड़े-छोटे रूप और tsconfig की paths देखें — आपकी ही फ़ाइलों की ओर जाने वाले रास्ते का @types से कोई नाता नहीं।

सुधार

npm i -D @types/lodash
कौन देता है
tsc
बिल्ड और टाइप
10

build की त्रुटियाँ किसी औज़ार का चलने से पहले मना कर देना हैं, इसलिए प्रकट होते समय वे कुछ तोड़ती नहीं — पर वे दो सवाल पूछती हैं: क्या आप type या रास्ता असली रूप के अनुसार सुधारेंगे, या as any अथवा दमन-टिप्पणी से उस एक पंक्ति को पार करा देंगे — और यहीं पहली बार वे चीज़ें सामने आती हैं जो केवल आपकी मशीन पर सही हैं: अक्षरों के बड़े-छोटे रूप, extension, और environment variables।

एरर संदेश कैसे पढ़ें

  • पहली पंक्ति से पढ़ें। जितना नीचे जाएँगे उतना वह औज़ार के भीतर की बात है; कारण आम तौर पर सबसे ऊपर लिखा होता है।
  • फ़ाइल का नाम और पंक्ति संख्या दिखे तो वहीं से शुरू करें — stack का सबसे ऊपरी frame नहीं, बल्कि वह सबसे ऊपरी पंक्ति जिसमें आपकी लिखी फ़ाइल का नाम हो।
  • संदेश को जैसा है वैसा खोजें, पर पहले अपने paths और variable नाम हटा दें — वही खोज को अटकाते हैं।
  • वही स्थिति औज़ार के हर संस्करण में अलग शब्दों में आती है। नतीजे बेमेल लगें तो संस्करण संख्या भी जोड़ें।
  • कोई सुधार चिपकाने से पहले देख लें कि वह क्या फेंक देगा। इनमें कुछ पलटे नहीं जा सकते।

अक्सर पूछे जाने वाले सवाल

Q. “error TS2307: Cannot find module 'lodash' or its corresponding type declarations.” का क्या मतलब है?

tsc को न वह module मिला, न उसके लिए कोई type घोषणा, और यह मायने रखता है कि संदेश दोनों बातें कहता है — package पूरा ग़ायब हो सकता है, या स्थापित हो पर उसमें type न हों। यदि वह स्थापित है तो कमी type की है: npm i -D @types/lodash साथी package जोड़ देता है, हालाँकि आज के बहुत से package अपने type साथ लाते हैं और उनका @types ही नहीं होता। और यदि यह किसी सापेक्ष import पर आए तो अक्षरों के बड़े-छोटे रूप और tsconfig की paths देखें — आपकी ही फ़ाइलों की ओर जाने वाले रास्ते का @types से कोई नाता नहीं।

Q. इसे कैसे ठीक करें?

npm i -D @types/lodash — चलाने से पहले ऊपर देख लें कि यह कमांड क्या फेंक देता है।

Q. यह कौन-सा औज़ार देता है?

tsc। यह बिल्ड और टाइप में आता है, और संदेश 11 शब्दों का है।

साथ आने वाले एरर