TLDR: (mungkin tampak kontra-intuitif tanpa penjelasan)
npm install caniuse-lite browserslist
npm uninstall caniuse-lite browserslist
Penjelasan:
Pesan peringatan ini ("canisuse-lite sudah usang, tolong ....") adalah output oleh skrip dalam daftar browser selama build / start jika menemukan versi terinstal caniuse-lite lebih tua dari 2 versi dari versi saat ini. Jika tidak ada dalam proyek Anda yang berubah dan Anda tiba-tiba melihat pesan ini ketika memulai atau membangun proyek Anda, itu mungkin berarti ada pembaruan versi terbaru untuk caniuse-lite.
Sayangnya, pesan teks yang ditampilkan oleh browser hanya membantu jika Anda menginstal caniuse-lite sebagai ketergantungan proyek Anda. Kemungkinan besar, Anda tidak melakukannya. Jadi, ketika Anda menjalankan 'npm update caniuse-lite' atau 'npm update' caniuse-lite @ latest '(atau' npm install '), npm tidak melihat paket yang tercantum dalam dependensi package.json Anda, sehingga mengabaikan Permintaan.
Bagaimana paket-paket itu menjadi dependensi? Ketika proyek Anda dibuat (mungkin dengan aplikasi angularapp atau create-react-app atau serupa untuk kerangka kerja Anda), npm memasang daftar browser sebagai ketergantungan dari alat yang diperlukan, bukan sebagai salah satu dependensi proyek Anda. Pada saat yang sama, caniuse-lite diinstal sebagai dependensi dari daftar browser. Kemudian ketika proyek diperbarui, file package-lock.json dibuat yang mengunci semua dependensi ke versi tertentu.
Jika Anda dapat memperbarui informasi versi dalam daftar dependensi di package-lock.json, maka menjalankan 'npm install' akan memperbarui paket-paket ini dalam node_modules. Anda tidak boleh mengedit package-lock.json secara manual. Sebaliknya, cara terbaik untuk melakukannya adalah:
Jadikan sementara paket-paket ini ketergantungan proyek Anda:
npm pasang daftar browser caniuse-lite
Selain memperbarui paket ke versi terbaru, ini memperbarui daftar ketergantungan di kedua package.json dan (yang paling penting) package-lock.json.
Hapus paket-paket ini sebagai dependensi langsung dari proyek Anda:
npm uninstall daftar browser caniuse-lite
Karena paket-paket ini digunakan oleh dependensi lain, mereka tidak dihapus dari node_modules. Hanya package.json yang diperbarui untuk menghapusnya sebagai ketergantungan proyek.
Komit package-lock.json. Orang lain sekarang dapat menjalankan 'npm install' untuk mendapatkan dua paket yang diperbarui dari daftar sub dependensi di package-lock.json, dan menghentikan pesan peringatan.
npm update caniuse-lite browserslist
?