Halo pengembang, Hari ini saya menemukan hal menarik tentang fungsi karakter paket node caret ( ^ ) dan ( ~ tidle ). Biarkan saya berbagi ini dengan kalian.
Npm mengatakan untuk mengikuti versi semantik.

Tentang pembuatan versi semantik

Untuk menjaga ekosistem JavaScript tetap sehat, andal, dan aman, setiap kali Anda membuat pembaruan signifikan pada paket npm yang Anda miliki, sebaiknya publikasikan versi baru paket tersebut dengan nomor versi yang diperbarui di package.json file yang mengikuti semantik spesifikasi versi.

Menggunakan versi semantik untuk menentukan jenis pembaruan yang dapat diterima paket Anda

Anda dapat menentukan jenis pembaruan mana yang dapat diterima paket Anda dari dependensi di file package.json paket Anda.

Misalnya, untuk menentukan rentang versi yang dapat diterima hingga 1.0.4, gunakan sintaksis berikut:

  • Rilis patch: 1.0 atau 1.0.x atau ~1.0.4
  • Rilis kecil: 1 atau 1.x atau ^1.0.4
  • Rilisan besar: * atau x

Dalam contoh kita, Fakta penting untuk diketahui

Kami memiliki paket dengan tanda sisipan ( ^ ) yang digunakan di depan versi paket. Caret memiliki fungsi untuk secara otomatis mengambil versi minor terbaru yang tersedia dari npm dan menginstal. Tapi ada pengecualian.

Jika paket memiliki versi yang dimulai dengan 0.x.x, maka fungsi ini tidak akan berfungsi sesuai dengan dokumentasi Node semver.

Oleh karena itu, pengembang harus memperbarui paket secara manual ke versi terbaru.

Bagaimana saya menemukan pengecualian ini?
Sebenarnya saya berkontribusi dalam satu proyek yang dorongan terakhirnya dilakukan 3 bulan lalu, jadi ketergantungan proyeknya sudah lama. jadi saya melakukan instalasi npm dan saya perhatikan bahwa paket vayu dan vayu vue tidak diperbarui ke versi terbaru. Begitulah cara saya mengetahui fakta tentang pembuatan versi npm.