Versionsbegränsningar och låsfilen
Lås och lös beroendeversioner
Versionsbegränsningar och låsfilen är en gratis lektion i Dart Academy på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Dart Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Dart Academy innehåller totalt 4 lektioner.
Varför versionsvillkor finns
Ett version constraint anger vilka utgåvor av ett paket som projektet accepterar. Det balanserar möjligheten att få korrigeringar mot risken för inkompatibla ändringar. 🎯
http: ^1.2.0Semantisk versionshantering
Dart-paket följer semantic versioning: major.minor.patch. En höjning av major signalerar inkompatibla ändringar, minor lägger till funktioner och patch rättar fel.
version: 2.4.1Caret-villkoret
caret ^1.2.0 accepterar alla versioner från och med 1.2.0 till, men inte inklusive, 2.0.0. Det är standardalternativet som pub använder.
http: ^1.2.0Låsa en version
Om du bara skriver ett naket versionsnummer betyder det exakt den versionen och inget annat. Använd detta sparsamt när du behöver en enda känd utgåva.
http: 1.2.0Intervallvillkor
Du kan ange ett range med jämförelseoperatorer. Då får du detaljerad kontroll över både den nedre och övre gränsen.
http: '>=1.0.0 <2.0.0'Villkoret any
Med any accepteras alla versioner. Det är riskabelt eftersom en framtida major-version kan orsaka problem, så föredra caret i stället.
http: anyMöt låsfilen
När pub löser dina beroenden sparar det de exakt valda versionerna i pubspec.lock. Den här filen låser det som faktiskt installeras för alla.
Reproducerbara byggen
Låsfilen garanterar reproducible byggen: en kollega som kör pub get får exakt samma versioner som du testade, inte oväntade uppgraderingar.
Bör du checka in den
För appar bör du commita pubspec.lock till versionshanteringen. För återanvändbara paket lämnar du ute den så att användarna själva löser versionerna.
Uppdatera låsfilen
Kör dart pub upgrade för att uppdatera pubspec.lock till de nyaste versionerna som dina villkor tillåter. Ett vanligt get behåller befintliga låsningar.
dart pub upgradeLösa konflikter
Om två paket kräver inkompatibla versioner rapporterar pub en conflict. Då kan du göra ett villkor mindre strikt eller välja kompatibla paketversioner.
Snabb kontroll
Vad tillåter villkoret ^1.2.0?
Sammanfattning
Nu kan du läsa constraints som caret och intervall, och du vet att pubspec.lock låser exakta versioner för reproducerbara byggen utan konflikter. 🎉
Lär dig Dart med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 30
- Lektioner
- 120
Vanliga frågor
Är lektionen ”Versionsbegränsningar och låsfilen” gratis?
Ja – hela texten till ”Versionsbegränsningar och låsfilen” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Dart Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Dart Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Versionsbegränsningar och låsfilen”?
Lås och lös beroendeversioner Ni övar på Dart Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Dart Academy?
Du behöver inga förkunskaper. Utbildningen i Dart Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Versionsbegränsningar och låsfilen”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Dart Academy-lektionen?
Ja. Varje Dart Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- pubspec.yaml:s uppbyggnad
- Lägga till beroenden med dart pub
- Importer, exporter och bibliotek
- Versionsbegränsningar och låsfilen