Articles

Hva er npm ?

2011-08-26

npm er to ting: først og fremst er det et online-lager for publisering av Åpen kildekode-Node.js prosjekter; for det andre er det et kommandolinjeverktøy for å samhandle med nevnte depot som hjelpemidler i pakkeinstallasjon, versjonshåndtering og avhengighetshåndtering. En mengde Node.js biblioteker og programmer er publisert på npm, og mange flere blir lagt til hver dag. Disse programmene kan søkes etter på https://www.npmjs.com/. Når du har en pakke du vil installere, kan den installeres med en enkelt kommandolinjekommando.

La oss si at du er hard på jobb en dag, og utvikler Det Neste Store Programmet. Du kommer over et problem, og du bestemmer deg for at det er på tide å bruke det kule biblioteket du hører om – la Oss bruke Caolan Mcmahons async som et eksempel. Heldigvis er npm veldig enkel å bruke: du må bare kjøre npm install async, og den angitte modulen vil bli installert i gjeldende katalog under ./node_modules/. Når du er installert på node_modules – mappen, kan du bruke require() på dem akkurat som de var innebygde.

La oss se på et eksempel på en global installasjon – la oss si coffee-script. Npm-kommandoen er enkel: npm install coffee-script -g. Dette vil typisk installere programmet og sette en symlink til det i /usr/local/bin/. Dette vil da tillate deg å kjøre programmet fra konsollen akkurat som alle ANDRE cli verktøy. I dette tilfellet vil kjøring avcoffee nå tillate deg å bruke coffee-script REPL.

En annen viktig bruk for npm er avhengighetshåndtering. Nar du har et nodeprosjekt med en pakke.json fil, kan du kjøre npm install fra prosjektet rot og npm vil installere alle avhengigheter oppført i pakken.json. Dette gjør at du installerer En Node.js prosjekt fra en git repo mye enklere! For eksempel vows, En Node.js testing framework, kan installeres fra git, og dens enkelt avhengighet, eyes, kan håndteres automatisk:

Eksempel:

git clone https://github.com/cloudhead/vows.gitcd vowsnpm install

etter å ha kjørt disse kommandoene, vil du se ennode_modules mappe som inneholder alle prosjektavhengighetene som er angitt i pakken.json.