Fogalomtár › Fejlesztői alapszavak
npm
Az npm a JavaScript-világ csomagkezelője és óriási online raktára: egyetlen paranccsal letölti és telepíti a mások által megírt, újrahasznosítható programrészeket.
Érthetően
Képzeld el, hogy bútort építesz, de a csavarokat, zsanérokat és fiókcsúszkákat nem magad esztergálod, hanem egy hatalmas barkácsáruházból rendeled. Az npm ilyen áruház a programozóknak: több millió kész alkatrészt, úgynevezett csomagot kínál, a legtöbbet ingyen.
Az npm név egyszerre két dolgot jelöl. Az egyik egy parancssori program, amellyel a fejlesztő telepíti a csomagokat, a másik maga az online raktár (registry), ahonnan a csomagok érkeznek.
Az AI-eszközök miatt ma már nem csak fejlesztők találkoznak vele. Sok kódoló agent és kiegészítő npm-en keresztül telepíthető, ezért a telepítési útmutatók gyakran egy „npm install” kezdetű sorral indulnak.
Hogyan működik
- A fejlesztő a projekt egyik fájljában (package.json) felsorolja, milyen csomagokra van szüksége, és melyik változatukra.
- Az „npm install” parancsra a program megkeresi ezeket az online raktárban, és letölti őket a gépre.
- A csomagok többnyire további csomagokra épülnek, ezért az npm ezeket a függőségeket is automatikusan letölti. Egyetlen telepítés így akár több száz csomagot is hozhat.
- Egy zárolófájl (package-lock.json) pontosan rögzíti, miből melyik változat került fel, hogy a program más gépen is ugyanúgy álljon össze.
- Bárki közzéteheti a saját csomagját a raktárban, és onnantól mások is beépíthetik a programjaikba.
Példa a mindennapokból
Ki szeretnél próbálni egy kódoló agentet, és az útmutató első lépése annyi: írd be a terminálba, hogy „npm install -g” és a program neve. Ilyenkor az npm tölti le és teszi használhatóvá az eszközt a gépeden, nagyjából úgy, ahogy a telefonod alkalmazásboltja telepít egy appot. Fontos különbség, hogy itt senki sem vizsgálja át előre, mi kerül fel a kínálatba, ezért a csomag nevét mindig a készítő hivatalos oldaláról másold ki.
Kit érint
Gyakori félreértés
Korlátok és kockázatok
- Egy csomag telepítése a gépeden futó kódot jelent, ezért csak megbízható forrásból származó, ismert csomagot telepíts.
- A csalók gyakran népszerű csomagok elgépelt nevével töltenek fel kártevőt, így egyetlen betűhiba is rossz csomagot hozhat.
- A függőségek láncolata miatt egyetlen megfertőzött apró csomag több ezer programba is eljuthat (ellátásilánc-támadás).
- A kódoló agentek néha nem létező vagy rosszul írt csomagnevet javasolnak, ezért telepítés előtt ellenőrizd, hogy a csomag valódi és széles körben használt-e.
Hasonló, de nem ugyanaz
- Node.js – A Node.js a JavaScript-programokat futtató környezet, az npm pedig a hozzá mellékelt csomagkezelő, amely az alkatrészeket szerzi be.
- pip – A pip ugyanezt a szerepet tölti be a Python nyelv világában, saját, külön csomagraktárral.
- GitHub – A GitHubon a programok forráskódját tárolják és közösen fejlesztik, az npm-ről a kész, telepíthető csomagokat töltik le.
Kapcsolódó fogalmak
csomagkezelő, nyílt forráskód, szoftverfejlesztés
npx, package.json, npm-csomag
Node.js, pip, GitHub, terminál, ellátásilánc-támadás
Röviden a története
Az npm-et Isaac Z. Schlueter készítette, első változata 2010-ben jelent meg a Node.js kiegészítőjeként. Az npm mögött álló céget 2020-ban a Microsoft tulajdonában lévő GitHub vásárolta meg.
Hol tart most
2026 végén az npm a világ legnagyobb szoftvercsomag-raktára, több millió csomaggal, és a webfejlesztés alapeszköze. Az AI-eszközök terjedése és az ellátásilánc-támadások miatt a biztonsága kiemelt téma. A 2025-ös nagy támadási hullám (feltört fejlesztői fiókok, önmagát terjesztő kártevő) után az üzemeltető GitHub szigorította a csomagok közzétételének szabályait, például erősebb kétlépcsős azonosítással és rövidebb életű hozzáférési kulcsokkal.
A hírekben
- LLM-mel írt PhantomRaven kártevő npm- és GitHub-hitelesítőket lop2026. szept. 15. · Kód
- AI-fejlesztőket céloznak trójaival, mérgezett utasításfájlokkal és npm-kompromittálással2026. aug. 4. · Kód
Más nevei
npm · NPM · Node Package Manager · npm registry · npm-csomag · npm csomagkezelő · npm install · npmjs
Források
A szócikk gépi szerkesztéssel készült és gépi szakmai lektoráláson ment át; a „hírekben” rész az Agent Age sztorijaiból automatikusan frissül.