Bandingkan, urutkan versi semver dan periksa range npm

Range npm (^, ~, x, ||, tanda hubung) dengan alasan, bandingkan, urutkan, naikkan.

Examples: ^1.2.3, ~1.4, >=2.0.0 <3, 1.2 - 2.3, 1.x || >=3.0.0-beta.1

Paste the list from npm view <package> versions, a changelog or your tags.

Off by default: a pre-release only matches a range that mentions a pre-release of the same x.y.z.

Means >=1.2.3 <2.0.0-0

Highest matching version: 1.9.9

VersionSatisfiesWhy
1.2.3 yespasses >=1.2.3 <2.0.0-0
1.2.10 yespasses >=1.2.3 <2.0.0-0
1.3.0-beta.1 nopre-release, and ^1.2.3 names no pre-release of 1.3.0
1.9.9 yespasses >=1.2.3 <2.0.0-0
2.0.0-rc.1 nofails <2.0.0-0
2.0.0 nofails <2.0.0-0
v1.4.0 yespasses >=1.2.3 <2.0.0-0
1.02.0—invalid: numbers may not have leading zeros

Apa yang dilakukan

Empat tab. Periksa range menandai setiap versi cocok atau tidak beserta alasannya (komparator mana yang lolos atau gagal, atau aturan prarilis npm), menunjukkan arti sebenarnya dari range (^1.2.3 adalah >=1.2.3 <2.0.0-0) dan versi tertinggi yang cocok, yaitu yang akan dipilih npm install. Bandingkan dua menunjukkan mana yang lebih tinggi dan bagian mana yang menentukan. Urutkan memakai urutan SemVer. Naikkan menampilkan hasil setiap jenis kenaikan npm.

Prioritas dan range

Major, minor dan patch dibandingkan sebagai angka (1.10.0 lebih tinggi dari 1.9.0). Prarilis lebih rendah dari rilis finalnya: 1.0.0-rc.1 < 1.0.0. Identifikator numerik dibandingkan sebagai angka, sehingga beta.11 > beta.2; metadata setelah + diabaikan. ^1.2.3 menerima semua 1.x mulai 1.2.3; ^0.2.3 tetap di bawah 0.3.0; ~1.2.3 hanya menerima perubahan patch. Secara bawaan ^1.2.3 tidak menerima 1.3.0-beta.1: prarilis hanya cocok bila range menyebut prarilis dengan major.minor.patch yang sama. Centang opsi prarilis untuk meniru --include-prerelease milik npm.

Mengapa penting

File package.json menulis ^4.17.0, file lock mencatat 4.17.21, dan rekan setim mendapat 4.18.0 setelah instalasi baru: itulah kerja tanda caret. Membaca range dengan benar memberi tahu apa yang bisa ikut terpasang pada instalasi baru, dan tab kenaikan menunjukkan angka mana yang harus diubah saat Anda menerbitkan versi baru. Semua perhitungan berjalan di browser Anda.

Pertanyaan yang sering diajukan

Apa beda ^ dan ~?

^1.2.3 menerima versi 1.x mulai 1.2.3; ~1.2.3 hanya 1.2.x.

Mengapa ^1.2.3 tidak menerima 1.3.0-beta.1?

npm mengecualikan prarilis kecuali range menyebut prarilis dengan major.minor.patch yang sama.

Apakah metadata build memengaruhi urutan?

Tidak, bagian setelah + diabaikan.