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 शब्दों का है।