Ce face dart pub
Dependențele unui proiect sunt scrise în pubspec.yaml. dart pub add intl caută ultima versiune a pachetului pe pub.dev, o adaugă în pubspec.yaml (ex. intl: ^0.20.3) și o descarcă. Cu prefixul dev: pachetul ajunge la dev_dependencies (unelte folosite doar la dezvoltare, ca test).
dart pub get descarcă versiunile fixate în pubspec.lock (sau le alege, dacă fișierul lipsește). dart pub upgrade trece la cele mai noi versiuni permise de constrângeri (^0.20.3 înseamnă „0.20.3 sau mai nou, dar sub 0.21.0”) și actualizează pubspec.lock.
dart pub outdated arată ce dependențe au versiuni noi, iar dart pub publish publică propriul pachet pe pub.dev. Pachetele descărcate stau într-un cache comun, nu în proiect.
Parametri
| Parametru | Descriere |
|---|---|
get |
Descarcă dependențele. |
add / remove |
Adaugă sau șterge o dependență din pubspec.yaml și o descarcă. |
upgrade |
Actualizează la cele mai noi versiuni compatibile; --major-versions schimbă și constrângerile. |
outdated |
Afișează versiunile curente, compatibile și cele mai noi. |
Exemple
Exemplul 1: Adăugarea unei dependențe
intl are nevoie de pachetul clock, care este adăugat automat (ca dependență indirectă).
dart pub add intl
Rezultat în terminal
Resolving dependencies...
Downloading packages...
+ clock 1.1.3
+ intl 0.20.3
Changed 2 dependencies!
Exemplul 2: pubspec.yaml după adăugare
Dependențele sunt sortate alfabetic; ^ permite actualizări compatibile.
dart pub add http
sed -n '/dependencies:/,$p' pubspec.yaml
Rezultat în terminal
Resolving dependencies...
Downloading packages...
+ http 1.6.0
Changed 1 dependency!
dependencies:
http: ^1.6.0
intl: ^0.20.3
path: ^1.9.0
dev_dependencies:
lints: ^6.0.0
test: ^1.25.6
Exemplul 3: Ștergere și verificare
remove scoate pachetul, iar outdated confirmă că restul sunt la zi.
dart pub remove http
dart pub outdated
Rezultat în terminal
Resolving dependencies...
Downloading packages...
These packages are no longer being depended on:
- http 1.6.0
Changed 1 dependency!
Showing outdated packages.
[*] indicates versions that are not the latest available.
Found no outdated packages
Greșeli frecvente
- Editarea lui
pubspec.yamlfărădart pub get: importul pachetului nou dăTarget of URI doesn't existpână la descărcare. - Ștergerea lui
pubspec.lockîntr-o aplicație: pierzi versiunile exacte testate. Păstrează-l în Git pentru aplicații (pentru pachete publicate nu este necesar). dart pub addfără internet: comanda nu poate rezolva versiunile; doardart pub get --offlinefolosește ce este deja în cache.
Comenzi înrudite
dart create: Creează un proiect Dart nou dintr-un șablon: aplicație de consolă, pachet, server sau aplicație web.import: Face disponibile în fișierul curent numele publice ale altei biblioteci: din SDK, dintr-un pachet sau din proiect.dart run: Rulează un program Dart: un fișier, programul principal al proiectului sau un executabil dintr-un pachet.