SemVer doğrulayıcı
Anlamsal sürümleri doğrulayın, aralıkları okuyun.
Sürüm
- MAJOR
- MINOR
- PATCH
- Ön sürüm
- Derleme üstverisi
Aralık
JSON sonucu
Sürüm sayılan nedir
Katı SemVer 2.0.0 dilbilgisi. Üç sayı, başında sıfır bulunmayan negatif olmayan ASCII tam sayılardır.
- MAJOR.MINOR.PATCH
- geriye uyumsuz / uyumlu / hata düzeltme
- 1.2.3-alpha.1
- ön sürüm, 1.2.3’ten aşağıda sıralanır
- 1.2.3+build.5
- derleme üstverisi, sıralamada yoksayılır
- 1.2.3-0.3
- sayısal ön sürüm tanımlayıcıları sayı olarak karşılaştırılır
- v1.2.3
- anlamsal sürüm değil (spesifikasyon SSS)
- 01.2.3
- geçerli değil: baştaki sıfır
- 1.2.3-01
- geçerli değil: sıfırla doldurulmuş sayısal ön sürüm
- 1.2.3+0.09
- geçerli: derleme üstverisi sıfırla doldurulabilir
Aralık işlemcileri
- 1.2.3
- tam olarak bu sürüm
- ^1.2.3
- uyumlu: >=1.2.3 <2.0.0-0
- ~1.2.3
- yalnızca yama: >=1.2.3 <1.3.0-0
- >=1.2.3 <2.0.0
- tek kümedeki karşılaştırıcıların VE’i
- 1.2.3 - 2.0.0
- dahil aralık, iki yanda da boşluk gerekir
- 1.2.x / 1.x / *
- kısmi sürümler ve jokerler
- a || b
- birleşim: kümelerden biri eşleşebilir
- ~>1.2.3
- npm tarihsel takma adı, ~1.2.3 gibi işlenir
npm kısmi sürümleri nasıl doldurur
node-semver ile doğrulandı; -0 soneki, bir sonraki serinin ön sürümlerini dışarıda bırakan npm işaretçisidir.
| Aralık | Açılmış hâli |
|---|---|
| ^1.2.3 | >=1.2.3 <2.0.0-0 |
| ^0.2.3 | >=0.2.3 <0.3.0-0 |
| ^0.0.3 | >=0.0.3 <0.0.4-0 |
| ^1 | >=1.0.0 <2.0.0-0 |
| ~1.2.3 | >=1.2.3 <1.3.0-0 |
| ~1.2 | >=1.2.0 <1.3.0-0 |
| ~1 | >=1.0.0 <2.0.0-0 |
| 1.2.x | >=1.2.0 <1.3.0-0 |
| 1.x | >=1.0.0 <2.0.0-0 |
| 1.2.3 - 2.0.0 | >=1.2.3 <=2.0.0 |
| 1.2.3 - 2 | >=1.2.3 <3.0.0-0 |
| >1.x | >=2.0.0 |
Ön sürüm önceliği
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
Sayısal tanımlayıcılar sayı olarak karşılaştırılır ve harf-rakam olanların altında sıralanır; daha kısa önek daha aşağıda yer alır. Derleme üstverisi hiçbir zaman etkili olmaz.
Sık yapılan hatalar
Bunlar doğrudan package.json dosyalarından ve sohbet kayıtlarından yapıştırılır.
- "1.2.3",
- Tırnaklar ve virgül package.json’dan geldi; yalnızca sürümü yapıştırın.
- v1.2.3
- Git etiketleri bir v taşır, anlamsal sürümler taşımaz.
- 1.2
- İki sayı sürüm değil, bir aralıktır.
- 1.2.3-01
- npm gevşek modu bunu 1.2.3-1 olarak okur ve sessizce yeniden yazar.
Hangi kural kitabı kullanılıyor
- Bir sürüm dizesine verilen karar katı SemVer 2.0.0’dır — gevşek mod yok, yeniden yazma yok, normalize etme yok.
- Aralıklar npm node-semver kurallarını izler, çünkü SemVer spesifikasyonu aralık tanımlamaz.
- Bu araç aralıklarda npm’den daha katıdır: aralığın içindeki bir v ön eki veya baştaki sıfır reddedilir ve || boş tarafı “herhangi bir sürüm” değil, hatadır.
- Geçersiz bir sürüm için gösterilen npm okumaları semver.valid(v, {loose:true}) ve semver.coerce(v) kaynaklıdır. Bunlar yalnızca bilgidir — asla geçerli demek değildir.
- Konumlar kod noktası sayar; arayüzde 1’den, JSON’da 0’dan başlar.
Nasıl kullanılır
- Sol alana 1.2.3-beta.1+build.5 gibi bir sürüm yapıştırın. Aşağıdaki her şey siz yazdıkça güncellenir — basılacak bir düğme yok.
- İsterseniz sağa ^1.2.0 gibi bir npm aralığı yapıştırın; sürümle aralığın nasıl ilişkilendiğini görün.
- Önce rozeti okuyun: geçerli mi, değilse hangi karakterde hangi kural bozulmuş.
- Aralığın npm includePrerelease okumasını görmek istiyorsanız “Ön sürümleri dahil et” kutusunu işaretleyin.
- Tam sorun listesini kopyalamak veya indirmek için JSON sonucu bölümünü açın.
Çalışılmış örnek
Sürüm + aralık
1.2.3-beta.1+build.5 ^1.2.0
Sonuç
Geçerli SemVer (MAJOR 1, MINOR 2, PATCH 3, ön sürüm beta.1, derleme build.5). ^1.2.0 ifadesi >=1.2.0 <2.0.0-0 olarak açılır, sınırlar [1.2.0, 2.0.0). Karar: sağlanmadı — kümede 1.2.3 için bir ön sürüm karşılaştırıcısı yok.
“Ön sürümleri dahil et” kutusunu işaretleyin; aynı çift bu kez sağlanmış olur.
Sınırlamalar
- Karar katı SemVer 2.0.0’dır, bu yüzden v1.2.3 ve 1.2.3-01 reddedilir; oysa npm gevşek modu bunları kabul eder veya yeniden yazar.
- Aralıklar yalnızca npm node-semver kurallarını izler — git describe, Cargo, PEP 440 ve Go modül sürümleri kapsam dışıdır.
- Kayıt sorgusu yok: bu araç, ^1.2.0 aralığının gerçekte hangi sürümü kuracağını söyleyemez.
- Bir seferde bir sürüm ve bir aralık — toplu liste yok, sıralama yok, ikili karşılaştırma yok, sürüm artışı önizlemesi yok.
- Number.MAX_SAFE_INTEGER üzerindeki ana sayılar işaretlenir ve metin olarak karşılaştırılır; asla bir JS sayısına dönüştürülmez.
- Sayfadan hiçbir şey çıkmaz: ağ yok, depolama yok, URL parametresi yok — sayfa yenilendiğinde her şey silinir.
İlgili araçlar
Tamamen tarayıcınızda çalışan diğer geliştirici yardımcıları.