Ce face npm ls
npm ls (sau npm list) arată pachetele instalate în proiect, cu versiunea lor. Implicit afișează doar dependențele directe, cele din package.json; --all desenează tot arborele, cu dependențele dependențelor.
Cu un nume de pachet, arată doar drumurile până la el: așa afli cine a adus în proiect un pachet pe care nu l-ai instalat tu. npm explain <pachet> (alias npm why) dă aceeași informație, explicată pas cu pas.
Comanda semnalează problemele: UNMET DEPENDENCY (lipsește un pachet cerut), extraneous (instalat, dar necerut), invalid (versiune în afara intervalului). În aceste cazuri iese cu cod nenul.
Parametri
| Parametru | Descriere |
|---|---|
<pachet> |
Arată doar unde apare pachetul dat. |
--all |
Tot arborele, nu doar nivelul de sus. |
--depth=<n> |
Câte niveluri să afișeze. |
--omit=dev |
Fără devDependencies. |
-g |
Pachetele globale. |
Exemple
Exemplul 1: Dependențele directe și tot arborele
npm ls
npm ls --all
Ieșire în terminal
magazin@1.0.0 /home/ana/proiecte/magazin
├── chalk@4.1.2
├── dayjs@1.11.10
├── ms@2.1.3
└── prettier@3.3.0
magazin@1.0.0 /home/ana/proiecte/magazin
├─┬ chalk@4.1.2
│ ├─┬ ansi-styles@4.3.0
│ │ └─┬ color-convert@2.0.1
│ │ └── color-name@1.1.4
│ └─┬ supports-color@7.2.0
│ └── has-flag@4.0.0
├── dayjs@1.11.10
├── ms@2.1.3
└── prettier@3.3.0
Exemplul 2: Un pachet care lipsește
După npm ci --omit=dev, prettier nu este instalat, deși apare în devDependencies.
npm ls
Ieșire în terminal
magazin@1.0.0 /home/ana/proiecte/magazin
├── dayjs@1.11.10
├── ms@2.1.3
└── UNMET DEPENDENCY prettier@^3.3.0
npm error code ELSPROBLEMS
npm error missing: prettier@^3.3.0, required by magazin@1.0.0
Greșeli frecvente
- Cauți un pachet indirect cu
npm lssimplu și nu-l vezi: implicit apare doar nivelul de sus. Dă numele pachetului (npm ls color-name) sau--all. - Folosești
npm ls --allpe un proiect mare: arborele are mii de rânduri. Filtrează după nume sau limitează cu--depth.
Comenzi înrudite
npm install: Instalează pachete din registrul npm în node_modules și le trece în package.json și package-lock.json.npm update / npm outdated: npm outdated arată pachetele rămase în urmă; npm update le aduce la cea mai nouă versiune permisă de intervalul din package.json.npm link: Leagă un pachet aflat pe disc de un proiect, prin legături simbolice, ca să-l testezi fără să-l publici.npm workspaces: Mai multe pachete într-un singur depozit (monorepo), cu un singur node_modules și comenzi rulate în toate deodată.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.