pubspec.lock Dosyasını Anlamak: Sürüm Çakışmalarını Çözmek

Flutter ve Dart projelerinde `pubspec.lock` dosyası, kullandığın tüm paketlerin tam sürümlerini kaydeder. `pubspec.yaml` dosyasında esnek versiyon aralıkları belirtirsin (mesela `^1.0.0`), ama `pubspec.lock` bu aralıktan seçilmiş kesin sürümü tutarak, proje herkeste aynı şekilde çalışmasını sağlar.

Örneğin, A paketi `http: ^1.0.0` ve B paketi `http: ^2.0.0` gerektiriyorsa, Dart paket yöneticisi hangisini seçeceğini bilmez. Ya da `pubspec.lock` eski sürümü işaret ediyorken, `pubspec.yaml` yeni bir paket eklediğinde uyumsuzluk ortaya çıkar.

1. Sorunu Teşhis Et

Terminalde şu komutu çalıştır:

1flutter pub get

Eğer çıktıda `version conflict` veya `incompatible version` uyarısı görürsen, sürüm çakışması var demektir.

2. Lock Dosyasını Sıfırla

En güvenli yol, `pubspec.lock` dosyasını silip yeniden oluşturmak:

1rm pubspec.lock
2flutter pub get

Bu, `pubspec.yaml`'daki koşulları sağlayan en yeni uyumlu sürümleri seçer.

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası

3. Paket Sürümlerini Kontrol Et

`pubspec.yaml` dosyasını aç ve çakışan paketleri gözden geçir:

1dependencies:
2http: ^1.1.0 # Eski sürüm
3google_maps_flutter: ^2.0.0 # Yeni sürümü http ^2.0 gerektiriyor

Çakışmayı çözmek için, daha esnek bir sürüm seç:

1dependencies:
2http: ^2.0.0
3google_maps_flutter: ^2.0.0

4. Güncellemeyi Tamamla

1flutter pub upgrade

Bu komut tüm paketleri en yeni uyumlu sürüme çıkarır.

İşlem başarılı olursa şöyle bir çıktı görürsün:

1Running "flutter pub get"...
2Resolved dependencies in 2.3s.
3Got dependencies!

`pubspec.lock` dosyası artık güncellenmiş ve tüm paketler uyumlu durumda.

Ver kontrol sistemine (Git) `pubspec.lock` dosyasını mutlaka ekle. Böylece ekibin herkes aynı sürümleri kullanır.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz