Browserslist: caniuse-lite güncel değil. Lütfen sonraki komutu çalıştırın "npm update caniuse-lite browsererslist"


97

Son zamanlarda scss dosyalarımı derlediğimde bir hata alıyorum. Hata mesajı şunu söylüyor:

Browserslist: caniuse-lite güncel değil. Lütfen sonraki komutu çalıştırınnpm update caniuse-lite browserslist

İlk olarak, mesajın dediği gibi koştum npm update caniuse-lite browserslistama sorunu çözmedi. Tüm nod-modülleri dizinini sildim ve tekrar yükledim, ayrıca tüm klasörü güncelledim npm updateancak hiçbiri sorunu çözmedi. Ayrıca autoprefixer ve tarayıcı listesini de yeniden yükledim ancak hiçbiri sorunu çözmedi.

Kaldırırsam

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

benden compilerconfig.json, her şey iyi çalışıyor, bu da muhtemelen otomatik ön ayar ile ilgili olduğu anlamına geliyor. Ayrıca, paket sürümünü manuel olarak en son sürüme değiştirdim package.jsonve yeniden yükledim ancak şansım yok.

Yanıtlar:


45

Visual Studio'nun Web Derleyicisi uzantısını kullanıyormuşsunuz gibi görünüyor. Burada bulunan bunun için açık bir sorun var: https://github.com/madskristensen/WebCompiler/issues/413

Bu sayıda yayınlanan bir çözüm var:

  1. Visual Studio'yu kapatın
  2. Head to C:\Users\USERNAME\AppData\Local\Temp\WebCompilerX.X.X(X, WebCompiler'ın sürümüdür)
  3. Aşağıdaki klasörleri node_modulesklasörden silin : caniuse-liteve browserslist CMD'yi açın (içeride C:\Users\USERNAME\AppData\Local\Temp\WebCompilerX.X.X) ve çalıştırın:npm i caniuse-lite browserslist

1
Bunu yaptım ve artık o hatayı almıyorum ama yeni bir hata alıyorum: Eklenti Hatası: 'autoprefixer' modülü bulunamıyor. Autoprefixer'ı yeniden yüklemeyi ve güncellemeyi denedim ama yine de bu hatayı alıyorum.
Mehrdad Babaki

Farklı bir konu gibi görünüyor. Projenize çevrimiçi olarak bir bağlantınız varsa veya sorunu olan başka bir projeyi bir araya getirebilirseniz, ona bakmaktan memnuniyet duyarım.
Scott Kuhl

Autoprefixer'ı yükselterek ve yeniden yükleyerek sorunu çözmeye çalışırken bir şeyi bozmuştum. Neyse ki bugün Web Derleyicisi kendini güncelledi ve bu hata mesajını tekrar gördüm. Yukarıdaki adımları izledim ve bu sefer sorun çözüldü.
Mehrdad Babaki

Mac'te bu dizinin nerede olduğuna dair bir fikriniz var mı?
Safa Alai

48

Bunu dene sorunumu çözdü npx browserslist@latest --update-db


2
Bağlam için: IDE'm VS Code ve JS projem bu hatayı görmeye başladığımda yalnızca Parcel, react ve react-dom içeriyordu. Yukarıdaki seçeneklerin hiçbiri işe yaramadı. Bu çözüm benimkini düzeltti.
Klay

Windows'ta başarısız oluyor `` C: \ projects \ ember-cli-typescript-blueprints> npx browsererslist @ latest --update-db npm ERR! cb.apply bir işlev değildir npm ERR! Bu çalışmanın tam günlüğü şurada bulunabilir: npm ERR! c: \ npm \ cache_logs \ 2020-11-15T14_19_08_958Z-debug.log ['browsererslist @ latest'] için yükleme, 1 ``
bryan.crotaz

31

Angular Geliştiriciler için

Yine de bunu çok geç cevaplıyorum. Kullandığım her kütüphanenin değişiklik günlüklerini kontrol etme konusunda kötü bir alışkanlığım var 😀 ve Angular CLI'nin sürüm notlarını kontrol ederken, dün (9 Ocak 2020) bu sorunu düzelten yeni bir yama yayınladıklarını fark ettim.

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

Yani ne zaman koşacağınız için ng update, aşağıdakiler için güncellemeler almalısınız @angular/cli:

görüntü açıklamasını buraya girin

Ve koşmak ng update @angular/clibu uyarıyı düzeltir.

Şerefe!


19

Geçmek yerine kısa bir yol buldum , bu cmd ilevs code appData/webCompiler projeme bağımlılık olarak ekledim . Ancak, her projeye eklemekten kaçınmak için küresel olarak kurabilirsiniz. npm i caniuse-lite browserslist

Kurulumdan sonra, onu projenizden kaldırabilir package.jsonve yapabilirsiniz npm i.

Güncelleme:

Durumda, Yukarıdaki çözüm onu ​​düzeltmedi. Bu npm update, kullanımdan kaldırılmış / eski paketleri yükselteceği için çalıştırabilirsiniz .

Not:

Npm güncellemesini çalıştırdıktan sonra, eksik bağımlılıklar olabilir. Hatayı izleyin ve eksik bağımlılıkları yükleyin. Benimki nodemondu, bunu düzelttimnpm i nodemon -g


4
Buradaki diğer bazı yayınların önerdiği gibi / TEMP klasörümde / WebCompiler klasörüne sahip değildim, bu yüzden bu komut satırını çalıştırdım ve sorunu çözmüş gibi görünüyor.
AppDreamer

13

Yukarıdaki cevabın devamı .

@MehrdadBabaki ile aynı "eklenti hatası" vardı. Web derleyicisini kaldırdım, yukarıda bahsedilen AppData WebCompiler klasörünü sildim, ardından VS2019'u yeniden açtım ve web derleyicisini yeniden yükledim.

SONRA WebCompiler klasörüne tekrar gittim ve yaptım npm i autoprefixer@latest npm i caniuse-lite@latestvenpm i caniuse-lite browserslist@latest


sadece autoprefixer'ı güncelle, caniuse-lite, tarayıcı listesi benim için iyi
cwhsu

10

npm --depth 9999 updatesorunu benim için düzeltti - görünüşe göre package-lock.jsoneski sürümlerde ısrar ediyordu.


12
Projemde bile npm --depth 99 update caniuse-lite browserslistneden JavaScript heap out of memoryoldu, ancak npm --depth 20 update caniuse-lite browserslisthızlı koş ve benim durumumdaki hatayı çözdüm.
Alexandr Nil

6

Benim durumumda caniuse-lite, browserslistklasörlerini sildim node_modules.

Sonra paketleri kurmak için aşağıdaki komutu yazıyorum.

npm i -g browserslist caniuse-lite --save

iyi çalıştı.


2
Eklemek zorunda kaldıknpm i browserslist caniuse-lite --save
sinsi

3

Silme node_modulesve package-lock.jsonve npm ibenim için sorun çözmek.


3
package-lock.json'u silmek, uzun bir paket kurulum geçmişine sahipseniz, örneğin bir yıldan uzun süredir çalışan ve geliştirilen ve çok fazla 3. seviye bağımlılığı olan paketlere sahip bir proje varsa, bazı önemli değişiklik hatalarına neden olabilir. son değişiklikler
kafinsalim

2

Scott Kuhl'un cevabında belirtildiği gibi, bu konu https://github.com/madskristensen/WebCompiler/issues/413 adresinde belirtilmiştir.

Benim için, komutu çalıştırmak, npm i caniuse-lite- browserslisttekrar bir sorun haline gelmeden önce yalnızca yaklaşık 1/2 gün çalıştı.

Yazıda bahsedilen aşağıdaki çözüm çok daha iyi çalışıyor. Bu, node.js dosyasını, bu hataları döndürürken kullanmak console.logyerine kullanması için günceller console.warn.

C: \ Users \ [Kullanıcı Adı] \ AppData \ Local \ Temp \ WebCompiler [SürümNumarası] \ node_modules \ browsererslist konumunda bulunan bu dosyayı manuel olarak güncelleyebilirsiniz.

Veya otomatik olarak yapılması için aşağıdakileri .csproj dosyanıza şu şekilde ekleyin:

  1. Proje dosyasına sağ tıklayın ve "Projeyi Kaldır" ı seçin
  2. .Csproj dosyasını düzenleyin
  3. Aşağıdakileri proje dosyasına yapıştırın. Bunu dosyanın </Project>sonuna , bitiş etiketinden önce ve derleme web derleyici paketi içe aktarılmadan önce yapıştırdım .
    <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. Projeyi çözüme geri yükleyin.

Teşekkür ederim! Bu benim için en iyi çözümdü. Yukarıdaki düzeltmeler her geçen gün geçerliliğini yitirir!
Bradly Bennison

2

Adım adım yaparak bu sorunu çözdüm:

  1. Kaldırmak node_modules
  2. kaldırmak package-lock.json,
  3. Çalıştırmak npm --depth 9999 update
  4. Çalıştırmak npm install

package-lock.jsonKırılma değişikliklerine neden olabileceğinden ve bundan kaçınılması gerektiğinden çıkarırken dikkatli olun .
Liam

1

Ben de aynı sorunu yaşadım bu komut benim için çalışıyor

npm i autoprefixer@latest

Otomatik olarak bağımlılık ihtiyacı package.jsonve package-lock.jsonaşağıdaki gibi dosya ekledi :

package.json

"autoprefixer": "^9.6.5",

package-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

Sorunumun tam olarak nerede olduğundan emin değilim, ancak bunun npm ve Yarn'daki aynı global paketleri kullandığım için olduğuna inanıyorum.

Tüm npm global bobinlerini kaldırdım, ardından iplik komutlarını tekrar kullandığımda sorun ortadan kalktı.

Kurulu global paketleri görmek için ...

npm için:

npm ls -g --depth=0

İplik için:

yarn global list

Daha sonra npm listesinde gördüğüm her paketi şunu kullanarak kaldırdım:

npm uninstall -g <package-name>

1

@Alexandr Nil tarafından gönderilen yanıt güvenli ve benim için etkili oldu

Tam cevap olarak yazıyorum çünkü yorumunu kaçırmak çok kolay.

npm --depth 20 update caniuse-lite browserslist 

Bu iyi çünkü:

  1. Silinmesi yoktur package-lock.json. Bunu silmek, sizi birçok paketin önemli değişikliklerle yükseltilmesine karşı savunmasız bırakır.

  2. Hangi şeylerin güncelleneceği açık ve çok sınırlıdır.

  3. Bazı projelerde ve sistemlerde çalışacak, ancak diğerlerinde çalışmayacak olan 99 veya 9999 gibi çok büyük derinliği önler. Derinliği çok küçük bir sayı ile sınırladıysanız, hiçbir şeyi kırmayacaktır. Proje başarıyla derlenene kadar derinliği artırabilir ve tekrar deneyebilirsiniz.


0

Birçoğu package-lock.jsonveya yarn.lock. Bu açıkça kötü bir fikir!

İplik kullanıyorum ve bu sorunu yalnızca benim içindeki caniuse-dbve caniuse-litegirişlerini kaldırarak yarn.lockve a yaparak düzeltebildim yarn.

Kilit dosyasının ana işlevini silerek bozmaya gerek yoktur.


-1

Düğüm sürümünü 12'den 10'a düşürdüm

DÜZENLE

Bu hata bende düğüm 12 sürümünü kullandığım için oluştu. 10.16.5 sürümüne düşürdüğümde bu hata durur. Bu hata yerel ortamımda meydana geldi, ancak üretim ve aşamada olmuyor. Üretim ve aşamalandırma düğümü sürümünde 10.x, bu yüzden sadece bunu yapıyorum ve package.json'daki herhangi bir paketi güncellemem gerekmedi


2
SO'ya hoş geldiniz! Bir cevap gönderirken doğru olsa bile biraz açıklamaya çalışın.
David García Bodego

Kötü bir cevap değil ... sadece biraz düzenleyin ve bitirin.
David García Bodego

-1

Sorunu çözmek için aşağıdaki komutu yazabilirsiniz:

"npm -g güncellemesi"


-1

İplik kullanıyorsanız:

yarn upgrade

Bana yardım et


-1

Mevcut proje için benim için çalışan minimum çözüm

  • Bir uygulama oluşturma-tepki verme projesi
  • Ubuntu / * nix
  • 2020
  • Düğüm 14.7

node_modules/browserslistprojedeki dizini sil

şimdi

npm run build

artık bu mesajı oluşturmaz


Dizini yeni sildiyseniz, bir dahaki sefere npm install/ npm ci?
jonrsharpe

Aslında daha sonra css perfix ile ilgili bir sorunla karşılaştım, sonunda o proje için uygulama oluştur-oluştur-oluştur'u güncelledim ve her şey iyiydi.
Michael Durrant

-1

Mac'te node_modules ve package-lock.json'u sildim, ardından npm install çalıştırdım ve sorunumu düzelttim.


1
Yukarıda belirtildiği gibi, kaldırırken gerçekten dikkatli olun package-lock.json. Bu, önemli değişiklikleri beraberinde getirebilir ve bundan kaçınılmalıdır.
Liam

-3

Benim durumumda bu iyi çalışıyor ...

sudo npm i -g browserslist caniuse-lite


2
Kuvvetle kullanmamayı tavsiye ediyor sudoile npm install -gbu izinler sorunlara neden olabilir olarak. Modülleri global olarak yükleyemiyorsanız, bunun nedeni zaten var olan izin sorunlarından kaynaklanmaktadır. Bir SO araması nasıl çözüleceğine yardımcı olacaktır.
Brady Dowling
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.