ब्राउजरलिस्ट: कैनीयूज़-लाइट पुराना है। कृपया अगला कमांड `एनपीएम अपडेट कैनीयूज़-लाइट ब्राउज़र लिस्ट 'चलाएं


98

हाल ही में, जब मैं अपनी scss फाइल संकलित करता हूं तो मुझे एक त्रुटि मिलती है। त्रुटि संदेश कहता है:

ब्राउजरलिस्ट: कैनीयूज़-लाइट पुराना है। कृपया अगली कमांड चलाएंnpm update caniuse-lite browserslist

सबसे पहले, जैसा कि संदेश कहता है, मैं भागा, npm update caniuse-lite browserslistलेकिन इसने समस्या को ठीक नहीं किया। मैंने पूरे नोड-मॉड्यूल निर्देशिका को हटा दिया और फिर से स्थापित किया, साथ ही मैंने पूरे फ़ोल्डर को अपडेट किया npm updateलेकिन उनमें से किसी ने भी समस्या हल नहीं की। मैंने ऑटोप्रिफ़र और ब्राउज़र सूची को फिर से इंस्टॉल किया लेकिन उनमें से किसी ने भी समस्या हल नहीं की।

अगर मैं हटा दूं

"options": {
      "autoPrefix": "> 1%"
    }

मेरे से compilerconfig.json, सब कुछ ठीक काम करता है जिसका अर्थ है कि शायद यह ऑटोप्रेफिक्सर से संबंधित है। इसके अलावा, मैंने मैन्युअल रूप से पैकेज संस्करण को नवीनतम संस्करण में बदल दिया package.jsonऔर फिर से इंस्टॉल किया गया लेकिन कोई भाग्य नहीं।

जवाबों:


45

ऐसा लगता है कि आप Visual Studio के वेब कंपाइलर एक्सटेंशन का उपयोग कर रहे हैं। इसके लिए यहां एक खुला मुद्दा है: https://github.com/madskristensen/WebCompiler/issues/413

उस समस्या में एक समाधान पोस्ट किया गया है:

  1. Visual Studio को बंद करें
  2. के लिए सिर C:\Users\USERNAME\AppData\Local\Temp\WebCompilerX.X.X(एक्स WebCompiler का संस्करण है)
  3. फ़ोल्डर से निम्नलिखित फ़ोल्डर हटाएं node_modules: caniuse-liteऔर browserslist सीएमडी (अंदर C:\Users\USERNAME\AppData\Local\Temp\WebCompilerX.X.X) खोलें और चलाएं:npm i caniuse-lite browserslist

1
मैंने यह किया था और मुझे अब वह त्रुटि नहीं है, लेकिन मुझे एक नई त्रुटि मिली: प्लगिन त्रुटि: मॉड्यूल 'ऑटोप्रेफ़र' नहीं खोज सकता। मैंने स्वत: संचयक को पुनर्स्थापित करने और अद्यतन करने का प्रयास किया लेकिन मुझे अभी भी वह त्रुटि प्राप्त है।
मेहरदाद बाबाकी

एक अलग मुद्दे की तरह लगता है। यदि आपके पास अपनी परियोजना का लिंक ऑनलाइन है या कोई अन्य परियोजना रख सकता है जिसमें समस्या है, तो मुझे यह देखकर खुशी होगी।
स्कॉट कुहल

ऐसा लगता है कि जब मैं ऑटोप्रेकफ़ायर को अपग्रेड करके और पुनः स्थापित करके समस्या को ठीक करने की कोशिश कर रहा था तो मैंने कुछ तोड़ दिया था। सौभाग्य से, आज वेब कंपाइलर ने खुद को अपडेट किया और मैंने उस त्रुटि संदेश को फिर से देखा। मैंने ऊपर दिए गए चरणों का पालन किया और इस बार यह मुद्दा ठीक किया।
मेहरदाद बाबाकी

किसी भी विचार जहां इस निर्देशिका मैक पर है?
सफा अलैई

48

यह कोशिश करो यह मेरी समस्या हल हो गई npx browserslist@latest --update-db


2
संदर्भ के लिए: मेरी आईडीई वीएस कोड है, और मेरी जेएस परियोजना में केवल पार्सल, प्रतिक्रिया और प्रतिक्रिया-डोम शामिल थे जब मैंने इस त्रुटि को देखना शुरू किया। उपरोक्त विकल्पों में से कोई भी काम नहीं किया। यह समाधान मेरा तय किया।
Klay

Windows पर विफल `` `C: \ Projects \ ember-cli-टाइपस्क्रिप्ट-ब्लूप्रिंट> npx ब्राउज़र सूची @ नवीनतम --update-db npm ERR! cb.apply एक फ़ंक्शन नहीं है npm ERR! इस रन का पूरा लॉग इन पाया जा सकता है: npm ERR! c: \ NPM \ cache_logs \ 2020-11-15T14_19_08_958Z-debug.log के लिए स्थापित करें [ 'browserslist @ नवीनतम'] के साथ कोड 1 `` `में विफल रहा है
bryan.crotaz

31

कोणीय डेवलपर्स के लिए

हालाँकि, मैं इसका उत्तर बहुत देर से दे रहा हूँ। मुझे हर लाइब्रेरी की चैंज की जाँच करने की बुरी आदत है जिसका मैं उपयोग करता हूँ Ang और कोणीय सीएलआई के रिलीज़ नोटों की जाँच करते समय, मुझे लगा कि उन्होंने कल (9 जनवरी 2020) एक नया पैच जारी किया है जो इस समस्या को हल करता है।

https://github.com/angular/angular-cli/releases/tag/v8.3.22

इसलिए जब आप दौड़ेंगे ng update, तो आपको इसके लिए अपडेट प्राप्त करना चाहिए @angular/cli:

यहाँ छवि विवरण दर्ज करें

और दौड़ना ng update @angular/cliइस चेतावनी को ठीक कर देगा।

चीयर्स!


19

मुझे वहां से गुजरने के बजाय एक शॉर्ट कट मिला vs code appData/webCompiler, मैंने इसे इस सीएमडी के साथ अपनी परियोजना पर निर्भरता के रूप में जोड़ा npm i caniuse-lite browserslist। लेकिन आप इसे प्रत्येक प्रोजेक्ट में जोड़ने से बचने के लिए इसे विश्व स्तर पर स्थापित कर सकते हैं।

स्थापना के बाद, आप इसे अपने प्रोजेक्ट से हटा सकते हैं package.jsonऔर कर सकते हैं npm i

अपडेट करें:

मामले में, उपरोक्त समाधान ने इसे ठीक नहीं किया। आप चला सकते हैं npm update, क्योंकि यह अपग्रेडेड / पुराने पैकेजों को अपग्रेड करेगा।

ध्यान दें:

Npm अद्यतन चलाने के बाद, अनुपलब्ध निर्भरताएँ हो सकती हैं। त्रुटि ट्रेस करें और लापता निर्भरताएं स्थापित करें। मेरा नोडमोन था, जिसे मैं ठीक करता हूंnpm i nodemon -g


4
मेरे / TEMP फ़ोल्डर में / WebCompiler फ़ोल्डर नहीं था, जैसे कि कुछ अन्य पोस्ट यहाँ सुझाए गए हैं, इसलिए मैंने यह कमांड लाइन चलाई और यह समस्या तय हो गई है।
AppDreamer

13

ऊपर उत्तर की निरंतरता ।

@MehrdadBabaki के समान "प्लगइन त्रुटि" थी। मैंने वेब कंपाइलर को अनइंस्टॉल कर दिया, उपर्युक्त AppData WebCompiler फ़ोल्डर को हटा दिया, फिर VS2019 को फिर से खोल दिया और कंपाइलर को फिर से इंस्टॉल किया।

तो मैं फिर से WebCompiler फ़ोल्डर के पास गया और किया npm i autoprefixer@latest npm i caniuse-lite@latestऔरnpm i caniuse-lite browserslist@latest


बस ऑटोप्रेफ़र, कैनीयूज़-लाइट को अपडेट करें, मेरे लिए ब्राउज़र
लिस्ट

10

npm --depth 9999 updateमेरे लिए मुद्दा तय किया - जाहिरा तौर पर क्योंकि package-lock.jsonपुराने संस्करणों पर जोर दे रहा था।


12
यहां तक ​​कि मेरे प्रोजेक्ट के npm --depth 99 update caniuse-lite browserslistकारण JavaScript heap out of memory, लेकिन npm --depth 20 update caniuse-lite browserslistतेजी से चला और मेरे मामले में त्रुटि को हल किया।
एलेक्जेंड्रा नील

6

मेरे मामले में, मैंने फ़ोल्डर caniuse-lite, browserslistसे हटा दिया node_modules

तब मैं पैकेजों को स्थापित करने के लिए निम्न कमांड टाइप करता हूं।

npm i -g browserslist caniuse-lite --save

ठीक काम किया।


2
हमें जोड़ना थाnpm i browserslist caniuse-lite --save
डरपोक

3

हटाया जा रहा है node_modulesऔर package-lock.jsonऔर npm iमेरे लिए इस मुद्दे को हल।


3
यदि आप पैकेज स्थापना का लंबा इतिहास रखते हैं, तो पैकेज-लॉक.जॉन को हटाने से कुछ ब्रेकिंग परिवर्तन त्रुटि हो सकती है, उदाहरण के लिए एक परियोजना जो एक वर्ष से अधिक समय से काम कर रही थी और जिसमें 3 जी स्तर की बहुत अधिक निर्भरता वाले पैकेज हो सकते हैं। ब्रेकिंग
चेंजेस

2

जैसा कि स्कॉट कुहल के उत्तर में बताया गया है कि इस मुद्दे का उल्लेख https://github.com/madskristensen/WebCompiler/issues/413 में है

मेरे लिए, कमांड चलाना npm i caniuse-lite- browserslist केवल एक दिन के लिए लगभग 1/2 काम करता था, इससे पहले कि यह फिर से एक मुद्दा था।

निम्नलिखित समाधान, पोस्ट में वर्णित है, बहुत बेहतर काम करता है। यह नोड.जेएस फ़ाइल को अपडेट करता है ताकि वह इसके console.logबजाय इसका उपयोग करेconsole.warn जब इन त्रुटियों को लौटने।

आप C: \ Users \ [Username] \ AppData \ Local \ Temp \ WebCompiler [VersionNumber] \ node_modules \ Browserlist पर स्थित इस फ़ाइल को मैन्युअल रूप से अपडेट कर सकते हैं

या, ताकि यह अपने आप हो जाए, निम्नलिखित को अपनी .csproj फ़ाइल में जोड़ें:

  1. प्रोजेक्ट फ़ाइल पर राइट क्लिक करें और "अनलोड प्रोजेक्ट" चुनें
  2. .Csproj फ़ाइल संपादित करें
  3. प्रोजेक्ट फ़ाइल में निम्न चिपकाएँ। मैंने इसे फ़ाइल के अंत की ओर चिपकाया, </Project>अंतिम टैग से पहले और बिल्ड वेब कंपाइलर पैकेज से पहले आयात किया गया था।
    <ItemGroup>
        <PackageReference Include="MSBuildTasks" Version="1.5.0.235">
            <PrivateAssets>all</PrivateAssets>
            <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
        </PackageReference>
    </ItemGroup>
    <PropertyGroup>
        <TempFolder>$([System.IO.Path]::GetTempPath())</TempFolder>
    </PropertyGroup>
    <ItemGroup>
        <BrowsersListNodeJsFiles Include="$(TempFolder)\WebCompiler*\node_modules\browserslist\node.js" />
    </ItemGroup>
    <Target Name="BrowsersListWarningsAsInfo" BeforeTargets="WebCompile">
        <FileUpdate Files="@(BrowsersListNodeJsFiles)"
                    Regex="console.warn"
                    ReplacementText="console.log" />
    </Target>

  1. समाधान में परियोजना को वापस लोड करें।

धन्यवाद! यह मेरे लिए सबसे अच्छा फिक्स था। उपरोक्त सुधार हर दूसरे दिन पुराने हो जाते हैं!
ब्रैडी बेनिसन

2

मैंने इस मुद्दे को कदम से कदम मिलाकर तय किया है:

  1. हटाना node_modules
  2. निकालें package-lock.json,
  3. Daud npm --depth 9999 update
  4. Daud npm install

package-lock.jsonइसे हटाने के साथ सावधानी बरतें क्योंकि इससे ब्रेकिंग परिवर्तन हो सकते हैं और इससे बचा जाना चाहिए।
लियाम

1

मुझे भी यही समस्या थी मेरे लिए यह कमांड काम करती है

npm i autoprefixer@latest

इसमें स्वचालित रूप से नीचे की तरह निर्भरता package.jsonऔर package-lock.jsonफ़ाइल जोड़ी गई:

package.json

"autoprefixer": "^9.6.5",

पैकेज-lock.json

"@angular-devkit/build-angular": {

...

"dependencies": {
    "autoprefixer": {
      "version": "9.4.6",
      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.4.6.tgz",
      "integrity": "sha512-Yp51mevbOEdxDUy5WjiKtpQaecqYq9OqZSL04rSoCiry7Tc5I9FEyo3bfxiTJc1DfHeKwSFCUYbBAiOQ2VGfiw==",
      "dev": true,
      "requires": {
        "browserslist": "^4.4.1",
        "caniuse-lite": "^1.0.30000929",
        "normalize-range": "^0.1.2",
        "num2fraction": "^1.2.2",
        "postcss": "^7.0.13",
        "postcss-value-parser": "^3.3.1"
      }
    },

...

  }

...

"autoprefixer": {
    "version": "9.6.5",
    "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.5.tgz",
    "integrity": "sha512-rGd50YV8LgwFQ2WQp4XzOTG69u1qQsXn0amww7tjqV5jJuNazgFKYEVItEBngyyvVITKOg20zr2V+9VsrXJQ2g==",
    "requires": {
      "browserslist": "^4.7.0",
      "caniuse-lite": "^1.0.30000999",
      "chalk": "^2.4.2",
      "normalize-range": "^0.1.2",
      "num2fraction": "^1.2.2",
      "postcss": "^7.0.18",
      "postcss-value-parser": "^4.0.2"
    },

...

}

1

मुझे बिल्कुल यकीन नहीं है कि मेरी समस्या कहाँ थी, लेकिन मेरा मानना ​​है कि यह इसलिए था क्योंकि मैं npm और यार्न दोनों से एक ही वैश्विक पैकेज का उपयोग कर रहा था।

मैंने सभी npm वैश्विक पैकेजों को अनइंस्टॉल कर दिया, फिर जब एक बार फिर से यार्न कमांड का उपयोग किया, तो समस्या दूर हो गई।

स्थापित वैश्विक पैकेज देखने के लिए ...

npm के लिए:

npm ls -g --depth=0

यार्न के लिए:

yarn global list

मैंने तब उपयोग किए गए प्रत्येक पैकेज को npm सूचीकरण में देखा, जिसकी स्थापना रद्द की:

npm uninstall -g <package-name>

1

@ एलेक्ज़ेंडर निल से उत्तर सुरक्षित है, और मेरे लिए प्रभावी था

मैं एक पूर्ण उत्तर के रूप में लिख रहा हूं क्योंकि उनकी टिप्पणी को याद करना आसान है।

npm --depth 20 update caniuse-lite browserslist 

यह अच्छा है क्योंकि:

  1. का कोई विलोपन नहीं है package-lock.json। उस परिवर्तन को हटाना जो आपको कई पैकेजों के लिए असुरक्षित बनाता है जो ब्रेकिंग परिवर्तनों के साथ उन्नत हो रहे हैं।

  2. यह स्पष्ट और बहुत सीमित है जिस पर चीजों को अद्यतन किया जाना है।

  3. यह 99 या 9999 की बहुत बड़ी गहराई से बचा जाता है जो कुछ परियोजनाओं और प्रणालियों पर काम करेगा, लेकिन दूसरों पर नहीं। यदि आपने गहराई को बहुत कम संख्या तक सीमित कर दिया है, तो यह कुछ भी नहीं तोड़ देगा। आप गहराई बढ़ा सकते हैं और फिर से कोशिश कर सकते हैं, जब तक कि परियोजना सफलतापूर्वक संकलित नहीं हो जाती।


0

कई आपको package-lock.jsonया को हटाने की सलाह देते हैं yarn.lock। यह स्पष्ट रूप से एक बुरा विचार है!

मैं यार्न का उपयोग कर रहा हूं और मैं केवल caniuse-dbऔर caniuse-liteएंट्री को हटाकर yarn.lockऔर कर में इस समस्या को ठीक करने में सक्षम था yarn

इसे हटाकर लॉकफाइल के मुख्य कार्य को तोड़ना आवश्यक नहीं है।


-1

मैंने 12 से 10 तक नोड संस्करण को डाउनग्रेड किया

संपादित करें

यह त्रुटि मेरे साथ हुई क्योंकि मैं नोड संस्करण 12 का उपयोग कर रहा था। जब मैंने 10.16.5 संस्करण को डाउनग्रेड किया तो यह त्रुटि बंद हो गई। यह त्रुटि मेरे स्थानीय env में हुई, लेकिन ठेस और मंचन में, ऐसा नहीं होता है। ठेस और स्टेजिंग नोड संस्करण में 10.x है, इसलिए मैं अभी ऐसा करता हूं और मुझे अपने पैकेज में किसी भी पैकेज को अपडेट करने की आवश्यकता नहीं है


2
एसओ में आपका स्वागत है! जब आप एक उत्तर पोस्ट करते हैं, भले ही वह सही हो, तो थोड़ा समझाने की कोशिश करें।
डेविड गार्सिया बोडेगो

यह एक बुरा जवाब नहीं है ... बस इसे थोड़ा संपादित करें और किया।
डेविड गार्सिया बोडेगो

-1

समस्या को हल करने के लिए आप नीचे दिए गए आदेश को टाइप कर सकते हैं:

'npm -g अद्यतन'



-1

न्यूनतम समाधान जो वर्तमान परियोजना के लिए मेरे लिए काम करता है

  • एक बनाएँ-प्रतिक्रिया-ऐप परियोजना
  • उबटन / * निक्स
  • 2020
  • नोड 14.7

node_modules/browserslistपरियोजना में निर्देशिका हटाएं

अभी

npm run build

अब वह संदेश नहीं देता है


यदि आपने अभी निर्देशिका को हटा दिया है, तो अगली बार क्या होता है npm install/ npm ci?
jonrsharpe

वास्तविक मैं तब सीएसएस पेरिफेरल के साथ एक मुद्दे में भाग गया, आखिरकार मैंने उस प्रोजेक्ट के लिए क्रिएट-ऐप को अपडेट किया और सब अच्छा था।
माइकल डुरंट

-1

मैक पर, मैंने नोड_मॉड्यूल्स और पैकेज-लॉक को हटा दिया। जेसन, फिर एनपीएम इंस्टॉल किया और इसने मेरा मुद्दा ठीक कर दिया।


1
जैसा कि ऊपर उल्लेख किया गया है, हटाने के साथ वास्तव में सावधान रहें package-lock.json। यह टूटने वाले परिवर्तनों को पेश कर सकता है और इससे बचा जाना चाहिए।
लियाम

-3

मेरे मामले में यह ठीक काम करता है ...

sudo npm i -g browserslist caniuse-lite


2
यह दृढ़ता से उपयोग करने के लिए नहीं की सलाह दी है sudoसाथ npm install -gके रूप में इस अनुमति की समस्याओं का कारण बन सकता है। यदि आप विश्व स्तर पर मॉड्यूल स्थापित नहीं कर सकते हैं, तो यह वास्तव में पहले से मौजूद अनुमति मुद्दों के कारण होता है। इसे हल करने के लिए एक SO खोज मदद करेगा।
ब्रैडी डॉवलिंग
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.