Ce face npm update / npm outdated
npm outdated afișează, pentru fiecare dependență cu o versiune mai nouă, trei coloane: Current (instalată), Wanted (cea mai nouă permisă de intervalul din package.json) și Latest (ultima publicată). Dacă găsește pachete vechi, iese cu codul 1.
npm update instalează versiunea Wanted: în intervalul ^3.3.0 urcă până la ultima 3.x, dar nu trece la 4.0.0. Actualizează package-lock.json, dar implicit nu schimbă intervalul din package.json; cu --save îl schimbă și pe acesta.
Pentru o versiune majoră nouă (care poate strica ceva) intervalul trebuie schimbat explicit: npm install chalk@latest. Citește notele de versiune (changelog) ale pachetului înainte.
Parametri
| Parametru | Descriere |
|---|---|
<pachet> |
Actualizează doar pachetul dat. Fără nume, toate. |
--save |
Scrie noile versiuni și în package.json. |
--all |
La outdated: arată și dependențele dependențelor. |
-g |
Pentru pachetele globale. |
Exemple
Exemplul 1: Ce pachete sunt în urmă
prettier are o versiune nouă în intervalul ^3.3.0 (Wanted e mai mare decât Current). chalk și dayjs au versiuni noi doar în afara intervalului (chalk e fixat la 4.x, dayjs la versiunea exactă), așa că npm update nu le atinge.
npm outdated
Ieșire în terminal
Package Current Wanted Latest Location Depended by
chalk 4.1.2 4.1.2 6.0.1 node_modules/chalk magazin
dayjs 1.11.10 1.11.10 1.11.23 node_modules/dayjs magazin
prettier 3.3.0 3.9.10 3.9.10 node_modules/prettier magazin
Exemplul 2: Actualizare în interval
După npm update, prettier a urcat la 3.9.10 și a dispărut din lista outdated.
npm update
npm outdated
Ieșire în terminal
changed 1 package, and audited 10 packages in 562ms
3 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
Package Current Wanted Latest Location Depended by
chalk 4.1.2 4.1.2 6.0.1 node_modules/chalk magazin
dayjs 1.11.10 1.11.10 1.11.23 node_modules/dayjs magazin
Exemplul 3: Trecere la o versiune majoră nouă
Schimbă intervalul în package.json la ^6.0.1. Rulează testele imediat după.
npm install chalk@latest
npm test
Greșeli frecvente
- Te aștepți ca
npm updatesă treacă la noua versiune majoră: nu iese niciodată din intervalul dinpackage.json. Foloseștenpm install pachet@latest. - Tratezi codul de ieșire 1 al lui
npm outdatedca eroare în scripturi: înseamnă doar că există pachete de actualizat. - Actualizezi toate pachetele deodată, înainte de o lansare. Fă actualizările în pași mici, cu testele rulate după fiecare.
Comenzi înrudite
Versiuni semver (^, ~, >=): Cum citește npm versiunile MAJOR.MINOR.PATCH și intervalele ^, ~, >=, x din package.json.npm install: Instalează pachete din registrul npm în node_modules și le trece în package.json și package-lock.json.npm audit: Verifică dependențele în baza de vulnerabilități cunoscute și le actualizează automat cu npm audit fix.package-lock.json: Fișierul în care npm notează versiunea exactă a fiecărui pachet instalat, ca toată lumea să primească același node_modules.npm ls: Afișează arborele pachetelor instalate și arată de ce a ajuns un pachet în node_modules.