TLDR: (स्पष्टीकरण के बिना प्रति-सहज ज्ञान युक्त लग सकता है)
npm install caniuse-lite browserslist
npm uninstall caniuse-lite browserslist
स्पष्टीकरण:
यह चेतावनी संदेश ("canisuse-lite पुराना है, कृपया ....") निर्माण / प्रारंभ के दौरान ब्राउज़र सूची में स्क्रिप्ट द्वारा आउटपुट है यदि यह पाता है कि caniuse-lite का स्थापित संस्करण वर्तमान संस्करण से 2 संस्करणों से पुराना है। यदि आपकी परियोजना में कुछ भी नहीं बदला है और आप अपना प्रोजेक्ट शुरू करते या बनाते समय अचानक इस msg को देखते हैं, तो इसका मतलब है कि कैनीयूज़-लाइट के लिए हाल ही में संस्करण अपडेट हुआ था।
दुर्भाग्य से, यदि आपके द्वारा अपने प्रोजेक्ट की निर्भरता के रूप में कैनीयूज़-लाइट स्थापित किया गया है तो टेक्स्ट संदेश जो ब्राउज़रसूची प्रदर्शित करता है वह केवल सहायक है। सबसे अधिक संभावना है, आपने नहीं किया। इसलिए जब आप सुझाए गए 'एनपीएम अपडेट कैनीयूज़-लाइट' या 'एनपीएम अपडेट' कैनीयूज़-लाइट @ लेटेस्ट '(या' एनपीएम इंस्टॉल ') चलाते हैं, तो एनपीएम आपके पैकेज में सूचीबद्ध पैकेज को नहीं देखता है। यह निर्भर करता है, इसलिए इसे अनदेखा करता है अनुरोध।
फिर ये पैकेज निर्भरता कैसे बन गए? जब आपका प्रोजेक्ट बनाया गया था (हो सकता है कि ऐप एंगुलरैप या क्रिएट-रिएक्शन-ऐप या आपके फ्रेमवर्क के समान हो), npm ने अपने आवश्यक उपकरणों की निर्भरता के रूप में ब्राउज़रलिस्ट को स्थापित किया, न कि आपके प्रोजेक्ट की निर्भरता के रूप में। उसी समय, कैनीयूज़-लाइट को ब्राउज़रलिस्ट की निर्भरता के रूप में स्थापित किया गया था। बाद में जब परियोजना को अद्यतन किया गया था, एक पैकेज-लॉक.जसन फ़ाइल बनाई गई थी जो सभी निर्भरता को एक विशिष्ट संस्करण में लॉक करती है।
यदि आप पैकेज-लॉक.जन में निर्भरता की सूची में संस्करण की जानकारी को अपडेट करने में सक्षम थे, तो 'एनपीएम इंस्टॉल' चलाने से ये पैकेज नोड_मॉड्यूल्स में अपडेट हो जाएंगे। आपको पैकेज-लॉक.जॉन को मैन्युअल रूप से संपादित नहीं करना चाहिए। इसके बजाय, सबसे अच्छा तरीका है:
अस्थायी रूप से इन पैकेजों को अपनी परियोजना की निर्भरता बनाएं:
npm caniuse-lite browserlist स्थापित करें
पैकेज को नवीनतम संस्करण में अपडेट करने के अलावा, यह पैकेज.जॉन और (सबसे महत्वपूर्ण) पैकेज-लॉक.जॉन दोनों में निर्भरता सूची को अपडेट करता है।
इन पैकेजों को अपनी परियोजना की प्रत्यक्ष निर्भरता के रूप में निकालें:
npm caniuse-lite browserlist की स्थापना रद्द करें
चूंकि ये पैकेज अन्य निर्भरता द्वारा उपयोग किए जाते हैं, इसलिए उन्हें नोड_मॉडल से हटाया नहीं जाता है। केवल एक प्रोजेक्ट निर्भरता के रूप में उन्हें हटाने के लिए package.json अपडेट किया जाता है।
कमिट पैकेज-लॉक.जसन। पैकेज-लॉक.जॉसन में उप निर्भरता की सूची से अपडेट किए गए दो पैकेजों को प्राप्त करने के लिए कोई भी व्यक्ति अभी 'एनपीएम इंस्टॉल' चला सकता है और चेतावनी संदेश को रोक सकता है।
npm update caniuse-lite browserslist
?