Kalkulator SemVer

Ketik sebuah versi untuk melihat bagiannya, urutannya terhadap versi lain, kenaikan berikutnya, dan apakah versi itu memenuhi rentang npm. Halaman ini mengikuti aturan SemVer 2.0.0 dan sintaks rentang node-semver.

Gratis Berjalan di peramban Anda Diperiksa Selasa, 10 November 2026

Versi seperti 1.4.0, dengan bagian -pra-rilis dan +build yang boleh ada.

Versi lain untuk diurutkan terhadap versi pertama. Kosongkan untuk melewati perbandingan.

Bagian yang dinaikkan satu tingkat. Bagian di bawahnya kembali ke 0.

Rentang npm seperti ^1.3.0, ~1.2, atau >=1.2.0 <2.0.0. Kosongkan untuk melewati pemeriksaan.

Hasil

Versi setelah kenaikan — Versi setelah kenaikan yang Anda pilih.
Urutan — Mana dari dua versi yang lebih dulu menurut urutan SemVer.
Pemeriksaan rentang — Apakah versi itu memenuhi rentang.
Bagian versi

Cara rentang dibaca

Alat ini berjalan di peramban Anda. Apa yang Anda masukkan tidak dikirim kepada kami.

Cara memakai

  1. Ketik Versi, seperti 1.4.0, dan jika perlu versi di Bandingkan dengan untuk diurutkan terhadapnya.
  2. Pilih Kenaikan untuk melihat versi berikutnya. Untuk kenaikan Pra-rilis, beri nama pra-rilisnya di Nama pra-rilis.
  3. Ketik Rentang untuk memeriksa apakah versi memenuhinya, dan baca Cara rentang dibaca untuk melihat arti setiap bagiannya.
  4. Baca Versi setelah kenaikan, Urutan, dan Pemeriksaan rentang untuk jawaban yang Anda butuhkan.

Cara versi diurutkan

SemVer 2.0.0 membandingkan angka mayor, minor, dan patch sebagai angka. Versi yang punya label pra-rilis datang sebelum versi yang sama tanpa label. Pengenal pra-rilis dibandingkan satu per satu: angka sebagai angka, teks menurut urutan ASCII, dan angka sebelum teks. Metadata build, bagian setelah +, tidak dihitung.

  • Urutan contoh dalam spesifikasi: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-alpha.beta, 1.0.0-beta, 1.0.0-beta.2, 1.0.0-beta.11, 1.0.0-rc.1, 1.0.0.
  • Awalan v, seperti pada v1.4.0, diterima dan bukan bagian dari versi.

Cara kenaikan bekerja

Kenaikan mayor menaikkan angka pertama dan mengatur dua angka lainnya menjadi 0. Kenaikan minor atau patch melakukan hal yang sama untuk bagiannya. Versi yang masih pra-rilis kehilangan labelnya bila kenaikan akan menaikkan rilisnya juga: 1.0.0-alpha menjadi 1.0.0 dengan kenaikan mayor, seperti yang dilakukan node-semver. Kenaikan pra-rilis memulai patch berikutnya dengan nama yang Anda beri, seperti 1.4.1-beta.0, atau menghitung naik angka terakhir pada pra-rilis yang sudah ada, seperti beta.1 menjadi beta.2.

Cara rentang dibaca

Sintaks rentang mengikuti node-semver, paket yang dipakai npm, dan tata bahasa di README-nya. Setiap bentuk mewakili komparator: ^1.3.0 berarti >=1.3.0 <2.0.0-0, ~1.2.3 berarti >=1.2.3 <1.3.0-0, dan 1.2.x berarti >=1.2.0 <1.3.0-0. Komparator di dalam satu himpunan harus semuanya terpenuhi. Himpunan yang dihubungkan || adalah alternatif, dan himpunan kosong menerima versi apa pun, seperti *.

Pra-rilis dan rentang

Versi pra-rilis seperti 1.5.0-beta.1 memenuhi rentang hanya bila salah satu komparator di himpunannya punya 1.5.0 yang sama dengan label pra-rilis. Versi yang belum selesai karena itu tetap berada di luar rentang secara default, seperti dijelaskan README node-semver. Pemeriksaan di halaman ini mengikuti aturan itu.

Contoh: 1.4.0 dengan kenaikan minor dan ^1.3.0 || 2.x

Versi 1.4.0 lebih tinggi daripada 1.4.0-beta.2, karena rilis lebih tinggi daripada pra-rilisnya. Kenaikan minor menghasilkan 1.5.0. Rentang ^1.3.0 || 2.x dibaca sebagai >=1.3.0 <2.0.0-0 atau >=2.0.0 <3.0.0-0, dan 1.4.0 memenuhi himpunan pertama.

Isian Hasil
1.4.0 dibandingkan dengan 1.4.0-beta.2 1.4.0 lebih tinggi daripada 1.4.0-beta.2.
Kenaikan minor dari 1.4.0 1.5.0
1.4.0 dalam ^1.3.0 || 2.x 1.4.0 memenuhi ^1.3.0 || 2.x.

Pertanyaan yang sering diajukan

Apakah 1.0.0+build.1 sama dengan versi 1.0.0?

Untuk urutan dan rentang, ya. Metadata build setelah + tidak dihitung dalam urutan SemVer, sehingga kedua versi punya tempat yang sama dalam urutan. Halaman tetap menampilkan teks build agar Anda bisa melihatnya.

Mengapa 1.4.0-beta.2 lebih rendah daripada 1.4.0?

Pra-rilis belum stabil dan mungkin tidak memenuhi kompatibilitas yang dijanjikan nomornya, sehingga SemVer menempatkannya sebelum rilis dengan nomor yang sama. Karena itu 1.4.0-beta.2 datang sebelum 1.4.0, dan 1.4.0 datang sebelum 1.4.1.

Apakah ^1.3.0 menerima 2.0.0?

Tidak. Rentang caret mempertahankan angka tak-nol paling kiri, sehingga ^1.3.0 berarti minimal 1.3.0 dan di bawah 2.0.0. Tulis juga || 2.x bila mayor kedua harus diterima, seperti pada contoh.

Apa perbedaan ~1.2 dan ^1.2?

Rentang tilde ~1.2 berarti >=1.2.0 <1.3.0-0, sehingga menerima perubahan patch seperti 1.2.9 dan menolak 1.3.0. Rentang caret ^1.2 berarti >=1.2.0 <2.0.0-0, sehingga juga menerima 1.3.0 dan 1.9.9, tetapi tidak 2.0.0.

Mengapa suatu rentang menolak 1.5.0-beta.1?

Pra-rilis dikecualikan kecuali sebuah komparator menyebut versi yang sama dengan label pra-rilis, seperti >=1.5.0-beta.0. node-semver membuat pilihan ini karena pra-rilis berubah dengan cepat dan bisa merusak sesuatu.

Apakah versi saya dikirim ke server?

Tidak. Versi, rentang, dan perbandingannya dibaca dan diperiksa di peramban Anda, dan tidak ada yang Anda ketik yang disimpan.

Sumber

Angka dan teks terakhir diperiksa pada Selasa, 10 November 2026.

Kami memakai cookie yang diperlukan agar situs berjalan. Dengan persetujuan Anda, Google juga memakai cookie iklan untuk menampilkan iklan yang dipersonalisasi. Jika Anda menolaknya, iklan tetap tampil, tetapi tidak dipersonalisasi.