Semver
- Node.js kursu
- Orta seviye
- Ders 73/116
- 5 dk
Semver ve ^/~ version aralıklarını öğrenirsin.
Semver
semver (semantic versioning), sürüm numaralarının anlamını tanımlar. Bir sürüm major.minor.patch biçimindedir; örneğin 4.18.0.
major değişince geriye dönük uyumsuzluk, minor artınca yeni özellik, patch artınca hata düzeltmesi demektir. package.json'da sürüm aralığı verirken iki yaygın sembol kullanırsın: ^ (caret) aynı major içindeki güncellemelere izin verir; ~ (tilde) yalnız patch seviyesine izin verir. Örneğin ^4.18.0 4.x içindeki tüm sürümleri kabul eder; ~4.18.0 yalnız 4.18.x'i kabul eder. Böylece güncellemeler güvenli biçimde alınır.
Tam sürüm sabitleme
Bazen bir paketin tam sürümünü sabitlemek istersin. ^ veya ~ olmadan yalnız 4.18.0 yazarsan npm yalnız bu sürümü yükler; güncelleme olmaz.
Bu, tekrarlanabilir derlemeler için önemlidir; her kurulumda aynı sürüm kullanılır. Ama güvenlik güncellemelerini de engeller. 1.x veya 1.2.x gibi joker karakterler de kullanabilirsin: 1.x 1 ile 2 arası (2 hariç) tüm sürümleri kabul eder. Hangi aralığı seçeceğin, güvenlik ve kararlılık arasındaki tercihe bağlıdır. Genellikle ^ önerilir; ama kritik sistemlerde sabitleme daha güvenlidir.
Uygulama Major sürümü yazdır
version adında bir dize tanımla; değeri "4.18.0" olsun. .split(".")[0] ile major kısmını al ve console.log ile yazdır.
Başlangıç kodu
// Sürüm dizesini tanımla
// split ile noktalardan böl
// İlk parçayı (major) yazdır
// buraya yazÖrnek çözüm
const version = "4.18.0";
const major = version.split(".")[0];
console.log(major);Beklenen çıktı
4
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 ^4.18.0 sürüm aralığı neye izin verir?
^4.18.0- 4.x (4.18.0 ve üzeri 4.x) Doğru cevap
- 4.x ve 5.x
- Yalnız 4.18.0
- Herhangi bir sürüm
Açıklama: ^ aynı major içindeki güncellemelere izin verir.
2 caret aralığını tamamla
"____4.18.0"
"^4.18.0"
Açıklama: ^4.18.0 aynı major içinde güncellemelere izin verir.
3 Aralığı davranışına eşle
| Kavram | Anlamı |
|---|---|
^1.2.3 |
minor ve patch'e izin verir |
~1.2.3 |
yalnızca patch'e izin verir |
1.2.3 |
tam sürümü sabitler |
1.x |
minor ailesi |