Mundarija (39)
- Bu darsda
- 1. Nega bu kerak?
- 2. O'rnatish: foydali bayroqlar
- 2.1 Mashq loyihasi
- 2.2 package.json ga nima yozildi
- 2.3 Global o'rnatish: -g
- 3. npm ls: o'rnatilganlar daraxti
- 3.1 Yuqori daraja
- 3.2 Butun daraxt: --all
- 3.3 "Bu paket qayerdan keldi?"
- 3.4 Daraxt buzilganda
- 4. npm outdated: nima eskirgan?
- 4.1 Jadvalni o'qish
- 4.2 Chiqish kodi: 1
- 4.3 Wanted gacha: npm update
- 5. npm view: o'rnatmasdan tekshirish
- 5.1 Paket kartasi
- 5.2 Bitta maydon
- 5.3 Teglar
- 5.4 Ikki xato — ikki saboq
- 6. npm cache: yuklangan fayllar ombori
- 6.1 Kesh nima
- 6.2 Ko'rish va tekshirish
- 6.3 Tozalash — nega npm qarshilik qiladi
- 6.4 Internetsiz o'rnatish
- 6.5 npx keshi
- 7. npm doctor: npm'ning tibbiy ko'rigi
- 7.1 Hisobot
- 7.2 Windows'da qisqaroq
- 7.3 Qachon kerak
- 8. Ko'p uchraydigan xatolar
- 9. Mashqlar
- 1-mashq (oson): vazifalar inventari
- 2-mashq (o'rta): Wanted ni oldindan ayting
- 3-mashq (o'rta): npm view bilan tergov
- 4-mashq (qiyin): Internetsiz o'rnatish, alohida kesh bilan
- 10. Real ishda
- Xulosa
- Manbalar
npm buyruqlari chuqur: npm ls, outdated, view, cache va doctor
Qisqacha: Loyihada nima o'rnatilganini
npm lsdaraxt shaklida ko'rsatadi. Qaysi paketning yangi versiyasi chiqqanininpm outdatedaytadi. Paketni o'rnatmasdan registrdan ma'lumot (versiya, litsenziya, bog'liqliklar) —npm view. Yuklangan fayllar ombori —npm cache, npm muhitining ko'rigi (registr, Node, git, PATH) —npm doctor.
Bu darsda
npm installning foydali bayroqlarini ishlatasiz:@versiya,@teg,-E,--no-save,-g.npm lsdaraxtini o'qiysiz va "bu paket qayerdan keldi?" savoliga javob topasiz.npm outdatedjadvalidagi Current, Wanted va Latest ustunlarini farqlaysiz.npm viewbilan paketni o'rnatmasdan tekshirasiz.- npm keshi nima ekanini bilasiz va
npm doctorhisobotini o'qiysiz.
Oldin bilishingiz kerak: npm'ga birinchi qadam, Exit code va buyruqlarni zanjirlash, Node versiya menejerlari.
1. Nega bu kerak?
Sardor «Bahor» oshxonasida stajyor dasturchi. Jasur aka undan so'radi: "vazifalar da nechta paket bor? ESLint'ning qaysi versiyasi? Eskirganlari bormi?"
Sardor node_modules ni ochdi — ichida yuzdan ortiq papka. Qaysi biri qayerdan kelgan — bilib bo'lmaydi.
npm'ga birinchi qadam darsida npm'ning ish buyruqlarini o'rgangansiz: init, install, uninstall, run. Bugun — "savol-javob" buyruqlari. Har biri bitta savolga javob beradi:
| Savol | Buyruq |
|---|---|
| Loyihada nima o'rnatilgan? | npm ls |
| Bu paket qayerdan keldi? | npm ls <nom>, npm explain <nom> |
| Qaysi paket eskirgan? | npm outdated |
| Paket haqida ma'lumot (o'rnatmasdan)? | npm view <nom> |
| Yuklangan fayllar qayerda? | npm cache |
| npm'ning o'zi sog'mi? | npm doctor |
Har buyruq ma'lumotni boshqa joydan oladi. Sxemadagi o'qlar "qayerga qaraydi" degani:
flowchart LR
ls["npm ls"] --> NM["node_modules<br/>(diskda)"]
ls --> PJ["package.json<br/>va lock"]
out["npm outdated"] --> NM
out --> REG["registr<br/>npmjs.com"]
view["npm view"] --> REG
cache["npm cache"] --> C["kesh papkasi"]
doc["npm doctor"] --> REG
doc --> ENV["Node, git, PATH"]npm ls internetga chiqmaydi: diskdagi papkani package.json bilan solishtiradi. npm view aksincha — faqat registrdan so'raydi. npm outdated esa ikkalasini taqqoslaydi.
Maslahat: Darsdagi hamma chiqish 2026-10-07 da Windows 11, Node 24.21.0 va npm 11.19.0 bilan haqiqatan olingan. Loyihalar
D:\kurs\da; sinov uchun npm keshi va global papka ham shu yerga ko'chirilgan. Sizda yo'llar, vaqt (in 1s) va ba'zi versiyalar boshqacha chiqadi — bu normal.
2. O'rnatish: foydali bayroqlar
2.1 Mashq loyihasi
kurs/mashqlar/16/03-npm-buyruqlari/ papkasini yarating. Unda npm init -y, keyin TypeScript'ni o'rnatish darsidagidek npm pkg set type=module qiling.
Endi ataylab eski versiyalarni o'rnatamiz — go'yo loyiha ikki yil oldin yozilgan. nanoid — tasodifiy ID (masalan, buyurtma raqami) yasaydigan kichik paket:
npm i picocolors@1.0.0 nanoid@3.3.4
added 2 packages, and audited 3 packages in 996ms
1 high severity vulnerability
To address all issues, run:
npm audit fix
Run `npm audit` for details.@1.0.0 — "aynan shu versiyani ol". 1 high severity vulnerability — "1 ta jiddiy zaiflik": eski nanoid 3.3.4 da xavfsizlik teshigi topilgan, keyingi versiyalarda yamalgan. Eski versiya xavfli bo'lishi mumkin. npm audit — Ta'minot zanjiri xavfsizligi darsida, bugun esa eskirganini topishni o'rganamiz.
Dasturchi asbobi ham kerak:
npm i -D prettier@3.0.0
added 1 package, and audited 4 packages in 1s
1 package is looking for funding
run `npm fund` for details
1 high severity vulnerability
To address all issues, run:
npm audit fix
Run `npm audit` for details.looking for funding — "1 ta paket muallifi moddiy yordam so'ramoqda". Xato emas. Bu yozuv qayerdan kelishini keyingi darsda ko'ramiz.
2.2 package.json ga nima yozildi
npm pkg get — package.json ning bo'limini faylni ochmasdan chiqaradi:
npm pkg get dependencies devDependencies{
"dependencies": {
"nanoid": "^3.3.4",
"picocolors": "^1.0.0"
},
"devDependencies": {
"prettier": "^3.0.0"
}
}Biz @1.0.0 deb aniq versiya so'radik, npm esa ^1.0.0 yozdi. Ya'ni keyingi o'rnatishda 1.x ning yangisi tushishi mumkin. Belgisiz, qat'iy versiya kerak bo'lsa — -E (--save-exact). vazifalar dagi hamma versiya shunday o'rnatilgan.
| Buyruq | Nima o'rnatiladi | package.json ga |
|---|---|---|
npm i nanoid |
eng yangi versiya | "^6.0.2" |
npm i nanoid@3.3.4 |
aynan 3.3.4 | "^3.3.4" |
npm i -E nanoid@3.3.4 |
aynan 3.3.4 | "3.3.4" |
npm i nanoid --no-save |
eng yangi versiya | hech narsa |
--no-save paketni faqat node_modules ga qo'yadi. Tez sinash uchun qulay, lekin bunday paket keyingi npm install da jimgina o'chib ketadi — buni «Daraxt buzilganda» bo'limida ko'rasiz.
Olib tashlash — npm uninstall (qisqasi npm un yoki npm rm):
npm uninstall nanoid
removed 1 package, and audited 3 packages in 862ms
1 package is looking for funding
run `npm fund` for details
found 0 vulnerabilitiesZaiflik ham ketdi — u nanoid da edi. nanoid@3.3.4 ni qaytarib o'rnating, u bizga yana kerak.
2.3 Global o'rnatish: -g
Global o'rnatish (-g) paketni bitta loyihaga emas, butun kompyuter uchun umumiy papkaga qo'yadi. Uning buyrug'i istalgan papkadan ishlaydi. Papka qayerda?
npm prefix -gD:\kurs\npm-globalnpm root -gD:\kurs\npm-global\node_modulesWindows o'rnatuvchisi bilan qo'yilgan Node'da bu odatda C:\Users\<ism>\AppData\Roaming\npm. nvm yoki fnm bilan — har Node versiyasining o'z papkasida (Node versiya menejerlari). Global o'rnatilganlar ro'yxati:
npm ls -gD:\kurs\npm-global
`-- (empty)Bo'sh — va shunday qolgani yaxshi. Global paket hamma loyihaga bitta versiya beradi, Node versiyasi almashganda yo'qoladi va jamoadoshingizga npm install bilan kelmaydi. Shuning uchun loyiha asboblari -D bilan o'rnatiladi va npx yoki scripts orqali ishlatiladi — TypeScript'ni o'rnatish darsidagi npx tsc kabi.
Tekshirib ko'ring:
npm i -E picocolors@latestpackage.jsonga nima yozadi? (2026-10 holatiga eng yangi versiya — 1.1.1.)
Javob
"picocolors": "1.1.1" — belgisiz. @latest "eng yangisini ol" deydi, -E esa "aniq versiyani ^ siz yoz" deydi. Biz sinadik: npm aynan "1.1.1" yozdi.
3. npm ls: o'rnatilganlar daraxti
3.1 Yuqori daraja
Sardor'ning savoliga qaytamiz. kurs/vazifalar da:
npm lsvazifalar@ D:\kurs\vazifalar
+-- @eslint/js@10.0.1
+-- @typescript/native@npm:typescript@7.0.2
+-- eslint@10.12.0
+-- globals@17.13.0
+-- prettier@3.9.9
+-- typescript-eslint@8.71.1
+-- typescript@npm:@typescript/typescript6@6.0.2
`-- web-vitals@6.2.3
vazifalar@ D:\kurs\vazifalar— nom,@dan keyin versiya, keyin papka. Versiya bo'sh:package.jsondaversionmaydoni yo'q. Nega — keyingi darsda.- **
+--va`--** — daraxt shoxlari; oxirgisi`--bilan yopiladi. nom@versiya— diskda haqiqatan turgan versiya,package.jsondagi yozuv emas.@typescript/native@npm:typescript@7.0.2— taxallus: papka nomi bir, ichidagi paket boshqa. Bu 15-qismdagi ikki TypeScript.
Sukut bo'yicha npm ls faqat birinchi qavatni — package.json dagi 8 ta paketni ko'rsatadi.
Maslahat: Sizda shoxlar
├──va└──bo'lib chiqishi mumkin — terminalga bog'liq.npm ls --unicodeularni majburan shunday chizadi.
3.2 Butun daraxt: --all
8 ta paketning ham o'z bog'liqliklari bor. Hammasi — npm ls --all (vazifalar da 196 qator). Boshi:
npm ls --allvazifalar@ D:\kurs\vazifalar
+-- @eslint/js@10.0.1
| `-- eslint@10.12.0 deduped
+-- @typescript/native@npm:typescript@7.0.2
| +-- UNMET OPTIONAL DEPENDENCY @typescript/typescript-aix-ppc64@7.0.2
| +-- UNMET OPTIONAL DEPENDENCY @typescript/typescript-darwin-arm64@7.0.2
…
| +-- UNMET OPTIONAL DEPENDENCY @typescript/typescript-win32-arm64@7.0.2
| `-- @typescript/typescript-win32-x64@7.0.2
+-- eslint@10.12.0
| +-- @eslint-community/eslint-utils@4.10.1
| | +-- eslint-visitor-keys@3.4.3
| | `-- eslint@10.12.0 deduped
…… — biz qisqartirgan joylar. Ikki yangi so'z:
deduped("takrori olib tashlangan") — paket daraxtda boshqa joyda bor, npm uni ikkinchi marta yuklamagan.UNMET OPTIONAL DEPENDENCY("bajarilmagan ixtiyoriy bog'liqlik") — xato emas. TypeScript 7 har operatsion tizim uchun alohida yig'ilgan; npm faqat sizga mosini (win32-x64) o'rnatdi.
Chuqurlikni cheklash ham mumkin: npm ls --depth=1 — ikkinchi qavatgacha. Raqamlar:
- Hozir: package.json da8 ta
- Hozir: jami o'rnatilgan102 ta
- 16-qism oxirida: package.json da16 ta
- 16-qism oxirida: jami220 ta
Manba: O'lchov: npm ls va npm ci, Node 24.21.0, npm 11.19.0, 2026-10-07 (16-qism boshi va oxiridagi vazifalar)
Siz 8 ta paket tanladingiz — npm 102 ta o'rnatdi. Qism oxirida 16 ta tanlov 220 ta paketga aylanadi.
3.3 "Bu paket qayerdan keldi?"
vazifalar ning node_modules ida ms papkasi bor. Siz uni o'rnatmagansiz. Kim olib keldi?
npm ls ms --unicodevazifalar@ D:\kurs\vazifalar
└─┬ eslint@10.12.0
└─┬ debug@4.4.3
└── ms@2.1.3
Zanjir: siz eslint ni o'rnatdingiz → u debug ni kutadi → debug esa ms ni. ms da muammo chiqsa, endi qaysi paketni yangilash kerakligini bilasiz.
Batafsilroq javob — npm explain (qisqasi npm why), u versiya chegaralarini ham ko'rsatadi. Mashq loyihasida:
npm explain picocolorspicocolors@1.0.0
node_modules/picocolors
picocolors@"^1.0.0" from the root project"picocolors 1.0.0, node_modules/picocolors da. Uni loyihaning o'zi (root project) ^1.0.0 chegarasi bilan so'ragan". vazifalar da npm explain ms esa 239 qator: debug ni ko'p paket kutadi va npm har yo'lni yozadi. Shuning uchun avval npm ls nom, kerak bo'lsa — npm explain.
--omit=dev dasturchi asboblarini yashiradi:
npm ls --omit=devvazifalar@ D:\kurs\vazifalar
`-- (empty)
Bo'sh! Lekin web-vitals foydalanuvchining brauzerida ishlaydi-ku. Nega u "dasturchi asbobi" qatorida? Bu savolga bog'liqlik turlari darsida javob beramiz. vazifalar ni esa Bundler nima darsida tuzatamiz — o'shanda web-vitals dependencies ga o'tadi.
3.4 Daraxt buzilganda
npm ls faqat ko'rsatmaydi — u tekshiradi ham. Mashq loyihasida ataylab uchta narsani buzdik:
npm i ms --no-save—package.jsonga yozilmagan paket qo'shildi.node_modules/picocolorsqo'lda o'chirildi (branch almashtirganda shunday bo'ladi).package.jsondananoidqo'lda^5.0.0qilindi, lekinnpm installunutildi.
npm ls03-npm-buyruqlari@1.0.0 D:\kurs\mashqlar\16\03-npm-buyruqlari
+-- ms@2.1.3 extraneous
+-- nanoid@3.3.4 invalid: "^5.0.0" from the root project
+-- UNMET DEPENDENCY picocolors@^1.0.0
`-- prettier@3.0.0
npm error code ELSPROBLEMS
npm error extraneous: ms@2.1.3 D:\kurs\mashqlar\16\03-npm-buyruqlari\node_modules\ms
npm error invalid: nanoid@3.3.4 D:\kurs\mashqlar\16\03-npm-buyruqlari\node_modules\nanoid
npm error missing: picocolors@^1.0.0, required by 03-npm-buyruqlari@1.0.0
npm error A complete log of this run can be found in: D:\kurs\npm-cache\_logs\2026-10-07T06_19_00_358Z-debug-0.logELSPROBLEMS — "ls problems": daraxtda muammo bor, chiqish kodi 1.
| Belgi | Ma'nosi | Bizda |
|---|---|---|
extraneous (ortiqcha) |
diskda bor, package.json da yo'q |
ms |
invalid (yaroqsiz) |
bor, lekin versiya chegaraga mos emas | nanoid 3.3.4, kerak ^5 |
missing (yetishmaydi) |
package.json da bor, diskda yo'q |
picocolors |
Uchalasining davosi bitta — npm install:
npm install
added 1 package, removed 1 package, changed 1 package, and audited 4 packages in 850ms
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilitiesHar so'z bitta muammoga mos: added — picocolors qaytdi, removed — ms o'chdi, changed — nanoid 5.x ga almashdi. --no-save dagi ms jimgina ketdi.
Tajribadan keyin package.json va lock-faylni Git bilan qaytaring (git restore package.json package-lock.json) va npm ci qiling. U node_modules ni lock-fayldagi aniq versiyalar bilan qayta quradi (Lock-fayllar va npm ci darsida chuqur).
Tekshirib ko'ring:
UNMET OPTIONAL DEPENDENCYvaUNMET DEPENDENCY— qaysi biri muammo?
Javob
Faqat UNMET DEPENDENCY: kerakli paket yetishmayapti, npm ls 1 bilan tugaydi. UNMET OPTIONAL DEPENDENCY esa "ixtiyoriy paket o'rnatilmadi" degani — boshqa operatsion tizimlar uchun nusxalar. Masalan, vazifalar da npm ls --all 20 ta shunday qator chiqaradi, lekin chiqish kodi 0.
4. npm outdated: nima eskirgan?
4.1 Jadvalni o'qish
Mashq loyihasi asl holatida:
npm outdatedPackage Current Wanted Latest Location Depended by
nanoid 3.3.4 3.3.20 6.0.2 node_modules/nanoid 03-npm-buyruqlari
picocolors 1.0.0 1.1.1 1.1.1 node_modules/picocolors 03-npm-buyruqlari
prettier 3.0.0 3.9.9 3.9.9 node_modules/prettier 03-npm-buyruqlari| Ustun | Ma'nosi |
|---|---|
Current |
diskda hozir turgan versiya |
Wanted |
package.json dagi chegaraga mos eng yangi versiya |
Latest |
registrdagi latest tegi (odatda eng yangi barqaror) |
Location, Depended by |
paket qayerda va uni kim so'ragan |
Eng muhim farq — Wanted va Latest. nanoid ning ^3.3.4 chegarasi 3.x dan chiqmaydi: Wanted — 3.3.20, Latest esa 6.0.2. Orada ikki MAJOR versiya — eski kodni buzishi mumkin bo'lgan o'zgarishlar.
Rangli terminalda qatorlar bo'yalgan. Qizil — chegara ichida yangilash bor, xotirjam yangilang. Sariq — yangisi faqat chegaradan tashqarida (odatda yangi MAJOR), ehtiyot bo'ling.
vazifalar da esa npm outdated jim tugaydi — jadval umuman chiqmaydi, chiqish kodi 0. Bo'sh — 2026-10-07 holatiga hamma paket eng yangi. Qat'iy versiyada ("3.9.9") Wanted doim Current ga teng. Bunday paket jadvalga faqat registrda yangi Latest chiqqanda tushadi.
4.2 Chiqish kodi: 1
npm outdated; echo $?Package Current Wanted Latest Location Depended by
nanoid 3.3.4 3.3.20 6.0.2 node_modules/nanoid 03-npm-buyruqlari
picocolors 1.0.0 1.1.1 1.1.1 node_modules/picocolors 03-npm-buyruqlari
prettier 3.0.0 3.9.9 3.9.9 node_modules/prettier 03-npm-buyruqlari
1Eskirgan paket bo'lsa, npm outdated 1 bilan tugaydi — xuddi xato kabi. Exit code darsidagi && zanjiri shu yerda to'xtaydi:
npm outdated && echo "Hammasi yangi"Package Current Wanted Latest Location Depended by
nanoid 3.3.4 3.3.20 6.0.2 node_modules/nanoid 03-npm-buyruqlari
picocolors 1.0.0 1.1.1 1.1.1 node_modules/picocolors 03-npm-buyruqlari
prettier 3.0.0 3.9.9 3.9.9 node_modules/prettier 03-npm-buyruqlariHammasi yangi chiqmadi. CI'da bu foydali bo'lishi mumkin ("eskirgan bo'lsa — to'xta"). Lekin skriptga shunchaki ma'lumot uchun qo'ysangiz, zanjirni buzadi.
4.3 Wanted gacha: npm update
npm update hamma paketni Wanted gacha ko'taradi:
npm update
changed 3 packages, and audited 4 packages in 2s
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilitiesZaiflik ham yo'qoldi: nanoid 3.3.20 da teshik yamalgan. Yana npm outdated:
npm outdatedPackage Current Wanted Latest Location Depended by
nanoid 3.3.20 3.3.20 6.0.2 node_modules/nanoid 03-npm-buyruqlariFaqat nanoid qoldi. 6.0.2 ga o'tish — MAJOR yangilash, npm update uni ataylab qilmaydi. Avval paketning o'zgarishlar ro'yxati (changelog) o'qiladi — Bog'liqliklarni yangilash strategiyasi darsida.
Diqqat:
npm updatedan keyinpackage.jsono'zgarmaydi:"nanoid": "^3.3.4"shundayligicha qoladi. Yangi versiyalar faqatnode_modulesva lock-faylga yoziladi. 3.3.20 baribir^3.3.4ga mos.
Tekshirib ko'ring:
"prettier": "3.9.9"(belgisiz) yozilgan loyihada Prettier 3.10.0 chiqdi.npm outdatedningWantedustunida nima bo'ladi?
Javob
3.9.9. Qat'iy versiya faqat bitta versiyaga ruxsat beradi, shuning uchun Wanted = Current, Latest esa 3.10.0. npm update bunday paketga tegmaydi — o'zingiz npm i -E prettier@3.10.0 qilasiz.
5. npm view: o'rnatmasdan tekshirish
5.1 Paket kartasi
npm view (qisqasi npm info) registrdan paketning "kartasini" olib keladi. Loyiha shart emas. Karta uzun — avval birinchi qatorga va dist-tags bo'limiga qarang, qolganini pastda birma-bir ochamiz:
npm view vite
vite@8.3.3 | MIT | deps: 5 | versions: 759
Native-ESM powered web dev build tool
https://vite.dev
keywords: build-tool, dev-server, framework, frontend, hmr, vite
bin: vite
dist
.tarball: https://registry.npmjs.org/vite/-/vite-8.3.3.tgz
.shasum: 12651726ab1cca0a9e1e649e3cb4dca5b6b006a9
.integrity: sha512-cTAldKPImjg6c+gk48U19POPn3GCBzZwpdsN8ZMEEcbpes+6/wvfqUd0C2y3qYY4wsj8PwgFwrZ/1jBPVttMSg==
.unpackedSize: 2.4 MB
dependencies:
postcss: ^8.5.28, rolldown: ~1.2.11, picomatch: ^4.0.7, tinyglobby: ^0.2.17, lightningcss: ^1.33.0
maintainers:
…
dist-tags:
latest: 8.3.3
previous: 6.4.4
beta: 8.3.0-beta.1
alpha: 6.0.0-alpha.24
published yesterday by GitHub Actions <npm-oidc-no-reply@github.com>maintainers ostidagi muallif nomlari va emaillarini biz qisqartirdik. Vite'ni Vite I darsida o'rnatamiz, hozir faqat kartasini o'qiymiz:
- Birinchi qator — eng yangi versiya 8.3.3, litsenziya MIT, 5 ta bog'liqlik, jami 759 versiya.
bin— paket terminal buyrug'i ham beradi.dist— arxiv (tarball), uning barmoq izi (.integrity) va ochilgandagi hajmi.published yesterday— "kecha chiqarilgan"; siz o'qiyotgan kuni boshqacha yoziladi.
5.2 Bitta maydon
Bitta javob kerak bo'lsa — maydon nomini qo'shing:
npm view vite version8.3.3npm view vite@8.3.3 engines{ node: '^20.19.0 || >=22.12.0' }engines — paket qaysi Node'da ishlaydi. Node 24 bu chegaraga mos. Endi 15-qismdagi bir sirni ochamiz — nega vazifalar da ikkita TypeScript bor?
npm view typescript-eslint@8.71.1 peerDependencies{
eslint: '^8.57.0 || ^9.0.0 || ^10.0.0',
typescript: '>=4.8.4 <6.1.0'
}typescript-eslint 8.71.1 faqat 6.1.0 dan kichik TypeScript bilan ishlaydi. TypeScript 7 bu chegaraga sig'maydi — shuning uchun ESLint uchun alohida TypeScript 6 turibdi. peerDependencies — bog'liqlik turlari darsida.
| Buyruq | Javob |
|---|---|
npm view picocolors versions |
hamma versiyalar (9 ta) |
npm view vite time.modified |
oxirgi o'zgarish vaqti |
npm view prettier repository.url |
manba kodi joyi |
npm view vite@8.3.3 dist.unpackedSize |
2374102 (bayt) |
Ichma-ich maydon nuqta bilan yoziladi: dist.unpackedSize — dist ichidagi unpackedSize.
5.3 Teglar
Teg (dist-tag) — versiyaga berilgan nom. Do'kondagi "yangi kelgan" yorlig'i kabi: yorliq bir mahsulotdan boshqasiga o'tkaziladi.
npm view nanoid dist-tags{ latest: '6.0.2', legacy: '3.3.20' }latest — npm i nanoid da tushadigan versiya. legacy ("eski avlod") — muallif 3.x qatori uchun qoldirgan teg. Teg bilan o'rnatsa bo'ladi:
npm i nanoid@legacy
up to date, audited 4 packages in 811ms
2 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilitiesup to date — "hammasi joyida": diskda 3.3.20 allaqachon bor edi, uni npm update olib kelgan. Lekin package.json o'zgardi: endi "nanoid": "^3.3.20". Teg nomi emas, uning versiyasi yoziladi. Vite kartasidagi beta, alpha — sinov versiyalari. Ular latest ga tegmaydi, shuning uchun npm i vite sizga sinov versiyasini bermaydi.
5.4 Ikki xato — ikki saboq
npm view vite@9 versionnpm error code E404
npm error 404 No match found for version 9
npm error 404
npm error 404 The requested resource 'vite@9' could not be found or you do not have permission to access it.
npm error 404
npm error 404 Note that you can also install from a
npm error 404 tarball, folder, http url, or git url.
npm error A complete log of this run can be found in: D:\kurs\npm-cache\_logs\2026-10-07T06_03_02_424Z-debug-0.log"9 versiyaga mos narsa topilmadi" — Vite 9 hali chiqmagan.
Ikkinchi saboq — xato chiqmagan holat. vite o'rniga shoshib vitee yozdingiz:
npm view vitee name version description license time.modifiedname = 'vitee'
version = '1.0.4'
time.modified = '2022-07-21T20:00:05.657Z'Xato yo'q — bunday paket haqiqatan bor! Lekin u Vite emas. Beshta maydondan uchtasi keldi: tavsif va litsenziya yo'q, 2022-yildan beri o'zgarmagan. npm'ga birinchi qadam darsidagi "o'xshash nom" hujumi shunday holatga tayanadi. Odat qiling: yangi nomni o'rnatishdan oldin kartasini ko'ring.
Tekshirib ko'ring: Malika "
chalkning 4-versiyalari registrda bormi?" deb so'radi. Bitta buyruq bilan qanday bilasiz?
Javob
npm view chalk@4 version — 4.x qatoridagi hamma versiyalarni chiqaradi. E404 chiqsa — yo'q. Chegara (@4, @^4.1.0) bilan so'rash npm view da ham, npm i da ham bir xil ishlaydi.
6. npm cache: yuklangan fayllar ombori
6.1 Kesh nima
«Bahor» oshxonasida guruch har kuni bozordan olinmaydi: bir marta qop bilan olinib, omborga qo'yiladi. npm ham shunday. Har yuklangan arxiv va paket kartasi kesh (cache) papkasiga saqlanadi, keyingi o'rnatish avval keshga qaraydi. Fayl barmoq izi (integrity) bo'yicha saqlanadi — buzilgani darhol seziladi.
npm config get cacheD:\kurs\npm-cacheBizda u sinov uchun ko'chirilgan. Sukut bo'yicha:
| Tizim | Kesh papkasi |
|---|---|
| Windows | %LocalAppData%\npm-cache (C:\Users\<ism>\AppData\Local\npm-cache) |
| macOS, Linux | ~/.npm |
Ichida: _cacache (fayllar), _logs (xato jurnallari) va _npx (npx yuklaganlari). Har npm xatosi oxiridagi A complete log of this run can be found in: …\_logs\… qatori — shu papkadagi batafsil jurnal. Xatoni internetda so'raganda aynan shu fayl kerak bo'ladi.
6.2 Ko'rish va tekshirish
npm cache ls picocolorsmake-fetch-happen:request-cache:https://registry.npmjs.org/picocolors
make-fetch-happen:request-cache:https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz
make-fetch-happen:request-cache:https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgzBirinchi qator — paket kartasi, qolganlari — biz o'rnatgan ikki versiya arxivi. make-fetch-happen — npm ichidagi yuklovchining nomi, e'tibor bermang.
npm cache verifyCache verified and compressed (D:\kurs\npm-cache\_cacache)
Content verified: 136 (102611070 bytes)
Content garbage-collected: 12 (4741151 bytes)
Index entries: 136
Finished in 0.962snpm har faylning barmoq izini qayta hisobladi: 136 ta fayl joyida (~102 MB). Hech qaysi yozuvga bog'lanmagan 12 ta "yetim" fayl o'chirildi (garbage-collected — "axlat yig'ildi").
6.3 Tozalash — nega npm qarshilik qiladi
npm cache cleannpm error As of npm@5, the npm cache self-heals from corruption issues by treating integrity mismatches as cache misses.
npm error As a result, data extracted from the cache is guaranteed to be valid.
npm error If you want to make sure everything is consistent, use `npm cache verify` instead.
npm error Deleting the cache can only make npm go slower, and is not likely to correct any problems you may be encountering!
npm error
npm error On the other hand, if you're debugging an issue with the installer, or race conditions that depend on the timing of writing to an empty cache, you can use `npm install --cache /tmp/empty-cache` to use a temporary cache instead of removing the actual one.
npm error
npm error If you're sure you want to delete the entire cache, rerun this command with --force.
npm error A complete log of this run can be found in: D:\kurs\npm-cache\_logs\2026-10-07T06_03_57_327Z-debug-0.logMazmuni: "npm 5 dan beri kesh o'zini o'zi davolaydi — barmoq izi mos kelmagan fayl keshda yo'qdek hisoblanadi. Tekshirish uchun — npm cache verify. O'chirish npm'ni faqat sekinlashtiradi. Sinamoqchi bo'lsangiz — --cache bilan vaqtinchalik papka bering. Baribir o'chirmoqchimisiz — --force qo'shing".
Internetdagi eski maslahatlar "npm buzildimi — npm cache clean --force" deydi. Bugun bu kamdan-kam kerak: disk to'lganda yoki tajriba uchun. Biz tajriba uchun tozalaymiz:
npm cache clean --forcenpm warn using --force Recommended protections disabled."--force: tavsiya etilgan himoyalar o'chirildi". Kesh bo'sh.
6.4 Internetsiz o'rnatish
Mashq loyihasini asl holatiga qaytaring (git restore package.json package-lock.json): lock-faylda yana prettier 3.0.0 va nanoid 3.3.4. node_modules ni o'chirib, --offline (faqat keshdan) bilan o'rnatamiz:
npm ci --offlinenpm error code ENOTCACHED
npm error request to https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz failed: cache mode is 'only-if-cached' but no cached response is available.
npm error A complete log of this run can be found in: D:\kurs\npm-cache\_logs\2026-10-07T06_19_19_434Z-debug-0.log"prettier-3.0.0.tgz so'rovi bajarilmadi: rejim — 'faqat keshdan', keshda esa yo'q". Kesh hozirgina tozalangan — mantiqan to'g'ri. Bir marta internet bilan npm ci, keyin node_modules ni yana o'chirib, qaytadan:
npm ci --offline
added 3 packages, and audited 4 packages in 382ms
1 package is looking for funding
run `npm fund` for details
found 0 vulnerabilitiesInternetsiz o'rnatildi. Yumshoqrog'i — --prefer-offline: keshda bori keshdan, yo'g'i internetdan.
Diqqat:
found 0 vulnerabilitiesga qarang.nanoid3.3.4 da zaiflik bor edi! Internetsiznpm auditregistrdan ma'lumot ololmadi va "hech narsa topilmadi" dedi. "0 ta zaiflik" — "zaiflik yo'q" degani emas. Xavfsizlik tekshiruvi doim internet bilan.
CI'da ham shu g'oya: vazifalar ning pages.yml faylida actions/setup-node qadamida cache: npm qatori bor. GitHub keshni ishga tushirishlar orasida saqlaydi va npm ci tezlashadi.
6.5 npx keshi
npm'ga birinchi qadam darsidagi npx cowsay Salom ni eslang. npx yuklaganlari _npx da turadi:
npm cache npx lse3e1d528ee105f80: cowsay@1.6.0Chapda — kalit, o'ngda — paket. O'chirish kalit bilan:
npm cache npx rm e3e1d528ee105f80Removing npx key at D:\kurs\npm-cache\_npx\e3e1d528ee105f80npx chuqur — npx va npm create darsida.
Tekshirib ko'ring: Bobur
npm installda g'alati xatoga duch keldi va "npm cache clean --forceqiling" degan maslahat topdi. Siz unga avval nima deysiz?
Javob
Avval xato matnini o'qish va npm cache verify qilish. Kesh o'zini o'zi davolaydi, shuning uchun clean muammoni kamdan-kam hal qiladi, faqat keyingi o'rnatishni sekinlashtiradi. Sabab ko'pincha boshqa: internet, registr sozlamasi yoki Node versiyasi — buni npm doctor tekshiradi.
7. npm doctor: npm'ning tibbiy ko'rigi
7.1 Hisobot
Hisobot bloklardan iborat: har blokda tekshiruv nomi, keyin Ok yoki Not ok, keyin izoh. Ko'zingiz bilan faqat Not ok ni qidiring:
npm doctorConnecting to the registry
Ok
Checking npm version
Not ok
Use npm v12.2.0
Checking node version
Ok
current: v24.21.0, recommended: v24.21.0
Checking configured npm registry
Ok
using default registry (https://registry.npmjs.org/)
Checking for git executable in PATH
Ok
D:\Dasturlash\Install\Git\mingw64\bin\git.EXE
Checking for global bin folder in PATH
Ok
D:\kurs\npm-global
npm error Some problems found. See above for recommendations.
npm error A complete log of this run can be found in: D:\kurs\npm-cache\_logs\2026-10-07T06_04_47_796Z-debug-0.log| Tekshiruv | Nimani | Bizda |
|---|---|---|
Connecting to the registry |
registrga ulanish | Ok |
Checking npm version |
npm eng yangisimi | Not ok — npm 12 bor |
Checking node version |
Node joriy LTS mi | Ok |
configured npm registry |
registr manzili | Ok — rasmiy |
git executable in PATH |
git topiladimi |
Ok |
global bin folder in PATH |
global buyruqlar ishlaydimi | Ok |
Bitta "Not ok" bor, lekin u xato emas, ma'lumot. npm 12 — yangi MAJOR versiya (birinchi nashri 2026-07-08), Node 24 esa o'zi bilan npm 11 ni olib keladi. Kurs npm 11.19.0 da tekshirilgan, shuning uchun yangilamaymiz. Biror "Not ok" bo'lsa, npm doctor 1 bilan tugaydi.
7.2 Windows'da qisqaroq
Linux va macOS'da npm doctor yana oltita tekshiruv qiladi: kesh, node_modules va global papkalarning fayl ruxsatlari hamda kesh butunligi. Windows'da ular o'tkazib yuboriladi (npm manba kodida windows: false). Kesh butunligini Windows'da npm cache verify bilan tekshirasiz.
Guruh bo'yicha ham ishlatsa bo'ladi: npm doctor ping, npm doctor registry, npm doctor versions, npm doctor environment.
7.3 Qachon kerak
npm installosilib qoladi.Connecting to the registry— Not ok bo'lsa, muammo tarmoqda, loyihada emas.- Paketlar g'alati joydan kelmoqda. Registr manzili boshqa —
.npmrcva registr darsida. - Global buyruq "topilmadi".
global bin folder in PATH— Not ok (PATH darsi).
8. Ko'p uchraydigan xatolar
| Belgi | Sabab | Davosi |
|---|---|---|
npm error code ELSPROBLEMS |
extraneous, invalid yoki missing |
npm install yoki npm ci |
skript npm outdated da to'xtadi |
eskirgan paket bor → chiqish kodi 1 | zanjirga qo'ymang |
npm error code ENOTCACHED |
--offline, keshda fayl yo'q |
bir marta internet bilan yoki --prefer-offline |
404 No match found for version |
paket bor, versiya yo'q | npm view <nom> versions |
Yana ikki chalkashlik: UNMET OPTIONAL DEPENDENCY — xato emas (chiqish kodi 0). npm update dan keyin package.json o'zgarmagani — kutilgan xulq.
9. Mashqlar
Mashqlar kurs/mashqlar/16/03-npm-buyruqlari/ da. Loyihani asl holatiga qaytaring (picocolors@1.0.0, nanoid@3.3.4, dev'da prettier@3.0.0) va commit qiling — tajribalardan keyin git restore bilan qaytasiz.
1-mashq (oson): vazifalar inventari
kurs/vazifalar da bo'sh joylarni to'ldiring.
npm ls—package.jsonda nechta paket:npm ls prettier— Prettier versiyasi:npm ls ms—msni to'g'ridan-to'g'ri olib kelgan paket:npm outdated; echo $?— chiqish kodi:
Yechim
npm ls prettiervazifalar@ D:\kurs\vazifalar
`-- prettier@3.9.9
npm ls — 8 ta. npm ls ms — eslint → debug → ms. npm outdated — jadvalsiz, chiqish kodi 0 (2026-10-07 holatiga). Keyinroq yangi versiyalar chiqsa, sizda jadval va 1 chiqadi — bu ham to'g'ri, faqat sana boshqa.
2-mashq (o'rta): Wanted ni oldindan ayting
Mashq loyihasida ikki yozuvni o'zgartiring:
npm pkg set dependencies.picocolors=1.0.0
npm pkg set devDependencies.prettier=~3.0.0Bu buyruqlar jim tugaydi (chiqish yo'q) — bu muvaffaqiyat belgisi. npm outdated dan oldin Wanted ni ayting:
picocolors("1.0.0"):prettier("~3.0.0"):nanoid("^3.3.4", o'zgarmagan):
Yordam: ~ faqat PATCH yangilanishiga ruxsat beradi (npm'ga birinchi qadam). 3.0.x versiyalarini npm view prettier@~3.0.0 version ko'rsatadi — oxirgisi kerak.
Yechim
npm outdatedPackage Current Wanted Latest Location Depended by
nanoid 3.3.4 3.3.20 6.0.2 node_modules/nanoid 03-npm-buyruqlari
picocolors 1.0.0 1.0.0 1.1.1 node_modules/picocolors 03-npm-buyruqlari
prettier 3.0.0 3.0.3 3.9.9 node_modules/prettier 03-npm-buyruqlaripicocolors: belgisiz — faqat 1.0.0,Wanted=Current.prettier:~3.0.0— 3.0.x qatori, oxirgisi 3.0.3.nanoid:^3.3.4— 3.x ichida eng yangisi 3.3.20.
Latest hech qayerda o'zgarmadi — u package.json ga emas, registrdagi tegga bog'liq. Oxirida git restore package.json.
3-mashq (o'rta): npm view bilan tergov
Faqat npm view bilan javob toping:
- Vite'ning eng yangi versiyasi:
- Vite qaysi Node versiyalarida ishlaydi?
nanoidninglegacytegi:picocolorsochilgandagi hajmi, bayt:vitee— Vite'ning nusxasimi? Qaysi belgilar shubhali?
Yechim
npm view picocolors dist.unpackedSize6373npm view vite version→8.3.3(2026-10-07 holatiga; 2026-10-08 da 8.3.4 chiqdi — sizda yangiroq bo'lishi mumkin).npm view vite engines→^20.19.0 || >=22.12.0— demak, Node 24 ham.npm view nanoid dist-tags→legacy: '3.3.20'.6373bayt — kartadagi6.4 kBham shu.- Yo'q.
npm view vitee name version description license time.modifiedfaqat uch maydon qaytaradi: tavsif va litsenziya yo'q, oxirgi o'zgarish — 2022-yil. O'rnatishga sabab yo'q.
4-mashq (qiyin): Internetsiz o'rnatish, alohida kesh bilan
Haqiqiy keshingizni tozalamasdan isbotlang: npm'ning o'zi tavsiya qilgan vaqtinchalik kesh (--cache) bilan. Mashq loyihasida:
node_modulesni o'chirib,npm ci --offline --cache .kesh. Qanday xato va nega?npm ci --cache .kesh— internet bilan.node_modulesni yana o'chirib, 1-qadamni takrorlang. Endi nima bo'ladi?npm cache ls --cache .kesh— nechta.tgzarxiv:- 3-qadamdagi audit natijasi 2-qadamdagidan farq qildimi? Nega?
Oxirida .kesh papkasini o'chiring — u commit qilinmasin.
Yechim
npm ci --offline --cache .keshnpm error code ENOTCACHED
npm error request to https://registry.npmjs.org/prettier/-/prettier-3.0.0.tgz failed: cache mode is 'only-if-cached' but no cached response is available.
npm error A complete log of this run can be found in: D:\kurs\mashqlar\16\03-npm-buyruqlari\.kesh\_logs\2026-10-07T06_19_35_166Z-debug-0.logENOTCACHED— yangi.keshbo'sh, internetga--offlineruxsat bermaydi. Jurnal ham.kesh\_logsga yozildi: npm butunlay shu papkadan foydalanmoqda.added 3 packagesva1 high severity vulnerability.added 3 packages, … found 0 vulnerabilities— keshdan.- Uchta:
nanoid,picocolors,prettierarxivlari. To'rttasecurity-advisory:nanoid:…yozuvi ham bor — audit natijalari ham keshlanadi. - Farq qildi: 1 ta zaiflik → 0. Internetsiz audit yangi ma'lumot ololmadi. "0" — "tekshira olmadim", "xavfsiz" emas.
10. Real ishda
- Yangi ishdagi birinchi kun:
npm ci,npm ls,npm outdated— besh daqiqada loyiha "sog'lig'i" ko'rinadi. - Paket tanlash
npm viewdan boshlanadi: litsenziya, oxirgi chiqish, bog'liqliklar, hajm (Paket tanlash va baholash). - Zaiflik e'lon qilindi: "Bizda bormi, qayerdan keladi?" —
npm ls <nom>. - Intervyu: "Wanted va Latest farqi?", "
npm updatepackage.jsonni o'zgartiradimi?", "npm cache clean --forceqachon kerak?".
Xulosa
npm ls— diskdagi daraxt;--all— hammasi;npm ls <nom>vanpm explain— "qayerdan keldi?".extraneous,invalid,missing→ELSPROBLEMS; davosi —npm installyokinpm ci.npm outdated: Current — diskda, Wanted — chegara ichida, Latest — registr tegi; eskirgan bo'lsa — chiqish kodi 1.npm updatefaqatWantedgacha; MAJOR yangilash — alohida qaror.npm view— o'rnatmasdan: versiya,engines,peerDependencies, teglar, hajm.- Kesh o'zini davolaydi:
verify— tekshirish,clean --force— kamdan-kam.npm doctor— registr, versiyalar, git, PATH.
Keyingi dars: package.json I: pasport maydonlari va "type" — vazifalar ning package.json ini maydonma-maydon o'qiymiz: nega unda version yo'q, private nimadan himoya qiladi va "type" kutubxonalarda qanday tuzoq yasaydi.
Manbalar
- npm Docs (v11): npm ls, npm outdated, npm view
- npm Docs (v11): npm cache, npm doctor, npm update
- npm manba kodi:
lib/commands/doctor.js(Windows'da o'tkaziladigan tekshiruvlar) — github.com/npm/cli
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!