जब आप Gulp चला रहे होते हैं, तो आपको एक त्रुटि दिखाई दे सकती है जो "cannot find module gulp-sass" जैसी कुछ कहती है।
इस त्रुटि संदेश का मतलब है कि Gulp gulp-sass पैकेज से एक फ़ंक्शन चलाने का प्रयास कर रहा है, लेकिन वह इसे ढूंढ नहीं पा रहा है।
यदि आपको यह कष्टप्रद त्रुटि मिल रही है, तो यहां कुछ समाधान दिए गए हैं जिनका उपयोग आप इससे छुटकारा पाने के लिए कर सकते हैं।
अपना node_modules फ़ोल्डर जांचें
जब आप npm पैकेज इंस्टॉल करते हैं, तो npm आपके प्रोजेक्ट रूट में एक node_modules फ़ोल्डर बनाएगा। यह आपके द्वारा इंस्टॉल किए गए पैकेज को आपकी package.json और package-lock.json फ़ाइलों में भी जोड़ देगा।
आप यह पुष्टि कर सकते हैं कि कोई पैकेज इंस्टॉल किया गया है या नहीं, यह सुनिश्चित करके कि यह आपकी package और package-lock.json फ़ाइलों में सूचीबद्ध है। और अपने node_modules फ़ोल्डर को दोबारा जांचें ताकि सुनिश्चित हो सके कि पैकेज वहां एक सबफ़ोल्डर में है।
अंत में, सुनिश्चित करें कि आप अपनी वेबसाइट या वेब ऐप को प्रोजेक्ट रूट फ़ोल्डर से चला रहे हैं, और वह रूट फ़ोल्डर node_modules फ़ोल्डर को सीधे सबफ़ोल्डर के रूप में रखता है। यदि node_modules फ़ोल्डर उस स्थान पर नहीं है, तो यह त्रुटि हो सकती है।
gulp-sass मॉड्यूल को मैन्युअल रूप से इंस्टॉल करें
यदि आपको अपने node_modules फ़ोल्डर में gulp-sass पैकेज नहीं दिखता है, या अभी भी समस्याएं आ रही हैं, तो आप पैकेज को पुनः इंस्टॉल करने का प्रयास कर सकते हैं।
सबसे पहले, अपना package.json और package-lock.json खोलें और आपको जो भी gulp-sass और node-sass के संदर्भ दिखाई दें, उन्हें हटा दें। यह सुनिश्चित करेगा कि आप पैकेज के सबसे अद्यतन संस्करण को पुनः इंस्टॉल करेंगे।
फिर, npm install gulp-sass या npm install gulp-sass --save-dev चलाकर package.json फ़ाइल में इंस्टॉल और सहेजें। --save-dev फ्लैग जोड़ने से पैकेज आपकी package.json फ़ाइल के devDependencies अनुभाग में जुड़ जाएंगे।
यदि आप फ्लैग नहीं जोड़ते हैं तो यह फ़ाइल के dependencies अनुभाग में जुड़ जाएगा। विशेष रूप से यदि आप केवल स्थानीय रूप से काम कर रहे हैं, तो इससे बहुत फर्क नहीं पड़ता कि आप किस अनुभाग का उपयोग करते हैं, इसलिए इस पर अपनी प्राथमिकताओं का पालन करें।
ध्यान दें कि यह पैकेज को आपके प्रोजेक्ट फ़ोल्डर में स्थानीय रूप से इंस्टॉल करेगा, और पैकेज केवल उस प्रोजेक्ट से पहुंच योग्य होगा। आप पैकेज को अपने कंप्यूटर पर वैश्विक रूप से भी इंस्टॉल कर सकते हैं, ताकि वे किसी भी अन्य डायरेक्टरी से पहुंच योग्य हों।
आप install कमांड में वैश्विक (-g) फ्लैग जोड़कर ऐसा कर सकते हैं, जैसे: npm install -g gulp-sass।
हालांकि मैं आमतौर पर पैकेज को प्रोजेक्ट के लिए स्थानीय रखता हूं। मैं gulp-cli को वैश्विक रूप से इंस्टॉल करता हूं, लेकिन बाकी सब कुछ मैं स्थानीय रखता हूं।
सभी npm पैकेज हटाएं और पुनः इंस्टॉल करें
यदि केवल gulp-sass पैकेज को हटाकर पुनः इंस्टॉल करना काम नहीं करता है, तो आप अपने सभी npm पैकेज को हटाकर पुनः इंस्टॉल करने का प्रयास कर सकते हैं।
सबसे पहले, सुनिश्चित करें कि आपके प्रोजेक्ट में आवश्यक सभी पैकेज आपकी package.json फ़ाइल में मौजूद हैं। यह भी सुनिश्चित करें कि gulp-sass आपकी package.json फ़ाइल में मौजूद है।
फिर, अपना node_modules फ़ोल्डर हटाएं। आप इसे अपने फ़ाइल एक्सप्लोरर से हटा सकते हैं, या कमांड लाइन में rm node_modules चला सकते हैं। यदि आपको फ़ोल्डर हटाने में त्रुटियां या कठिनाइयां आती हैं, तो आप rimraf नामक एक npm पैकेज इंस्टॉल करने का प्रयास कर सकते हैं जो हटाने में मदद करता है।
मैं अपने कंप्यूटर पर rimraf को वैश्विक रूप से इंस्टॉल करता हूं ताकि मैं इसे किसी भी डायरेक्टरी से चला सकूं। आप npm install -g rimraf चलाकर rimraf को वैश्विक रूप से इंस्टॉल कर सकते हैं। फिर प्रोजेक्ट रूट कमांड लाइन से rimraf node_modules चलाकर फ़ोल्डर को हटाने का प्रयास कर सकते हैं।
यदि आपको अभी भी समस्याएं हैं या node_modules\@types is not accessible जैसी त्रुटि मिलती है, तो आपको पहले VS Code या जो भी कोड एडिटर आप उपयोग कर रहे हैं उसे बंद करने की आवश्यकता हो सकती है। फिर फ़ोल्डर को फिर से हटाने का प्रयास करें।
एक बार जब आप node_modules फ़ोल्डर को सफलतापूर्वक हटा देते हैं, तो अपने प्रोजेक्ट रूट से npm install चलाकर सूचीबद्ध सभी पैकेज इंस्टॉल करें।