Pub/npm'de Sürüm Çatışmasını Çözmek: Adım Adım Rehber
# Pub/npm'de Sürüm Çatışmasını Çözmek: Adım Adım Rehber
Projenize iki paket eklediğinizde, her ikisi de aynı üçüncü bir paketi farklı sürümlerle istiyor olabilir. Örneğin paket A, `http: ^1.0.0` isterken paket B, `http: ^2.0.0` istiyor. bu çatışma.
Her paket kütüphanesi kendi bağımlılıklarını tanımlar. Sürüm numaraları `major.minor.patch` biçimindedir:
- Major (1.x.x): Büyük değişiklikler, eski kodla uyumsuz
- Minor (x.1.x): Yeni özellikler, geriye uyumlu
- Patch (x.x.1): Hata düzeltmeleri
Semantik versiyonlamada `^1.0.0` anlamı "1.0.0 ile 2.0.0 arası herhangi bir sürüm" demektir. İkinci paket `^2.0.0` istiyorsa çatışma kaçınılmazdır.
npm için:
1npm installEğer çatışma varsa, terminal uyarı verecektir. Detaylı görmek için:
1npm ls httpPub (Flutter/Dart) için:
1flutter pub getEğer çatışma varsa `pubspec.lock` dosyasında görürsünüz.
Projenizin `pubspec.yaml` (Dart) veya `package.json` (npm) dosyasını açın:
pubspec.yaml örneği:
1dependencies:2http: ^2.0.03paket_a: ^1.0.0Paket A'nın `http: ^1.0.0` istediğini biliyorsanız, siz `^2.0.0` yazarak paket A'nın başka sürümünü kullanmayı deneyebilirsiniz. Yoksa paket A'nın yeni sürümüne yükseltin.
1npm update paket_a@latestveya Dart için:
1flutter pub upgrade paket_aSık sık paket yazarları çatışmaları çözmek için güncellemeler yayınlar.
Eğer paket A ve paket B aynı işi yapıyorsa, birisini kaldırıp başka bir paket kullanabilirsiniz.
1npm uninstall paket_a2npm install paket_c1npm lsÇıktı:
1project@1.0.02├── paket_a@1.2.03├── paket_b@2.0.04└── http@2.1.0Eğer hiç uyarı yoksa çatışma çözülmüştür.
Sürüm çatışmalarını çözmek için: çatışmayı tespit edin, paket sürümlerini güncelleyin veya kısıtları esnetin. Genellikle ilk iki yöntem işe yarar.
0 yorum