Innehållsförteckning

Synopsis

npm-länk (i paketförteckningen)
npm-länk <pkg>
alias: npm ln

Beskrivning

Paketlänkning är en process i två steg.

Först skapar npm link i en paketmapp en symlänk i den globala mappen{prefix}/lib/node_modules/<package> som länkar till det paket där npmlink-kommandot utfördes. Det kommer också att länka alla bins i paketet till {prefix}/bin/{name}.Observera att npm link använder det globala prefixet (se npm prefix -g för dess värde).

Nästan, på en annan plats, kommer npm link package-name att skapa en asymbolisk länk från den globalt installerade package-name till node_modules/ i den aktuella mappen.

Bemärk att package-name hämtas från package.json,inte från katalognamnet.

Paketnamnet kan valfritt föregås av ett scope. Se scope.scope måste föregås av en @-symbol och följas av ett snedstreck.

När man skapar tarballs för npm publish, ”snapshottas” de länkade paketen till sitt nuvarande tillstånd genom att lösa upp de symboliska länkarna.

Det här är praktiskt för att installera dina egna saker, så att du kan jobba på dem och testa dem iterativt utan att behöva bygga om hela tiden.

Till exempel:

cd ~/projects/node-redis # gå in i paketkatalogen
npm link # skapar global länk
cd ~/projects/node-bloggy # gå in i någon annan paketkatalog.
npm link redis # link-installera paketet

Nu kommer alla ändringar i ~/projects/node-redis att återspeglas i ~/projects/node-bloggy/node_modules/node-redis/. Observera att länken ska vara till paketnamnet, inte katalognamnet för det paketet.

Du kan också förkorta de två stegen i ett. Till exempel, för att göra ovanstående användningsfall på ett kortare sätt:

cd ~/projects/node-bloggy # gå in i katalogen för ditt huvudprojekt
npm link ../node-redis # länka katalogen för ditt beroende

Den andra raden är likvärdig med att göra:

(cd ../node-redis; npm link)
npm link redis

Det innebär att den först skapar en global länk och sedan länkar det globala installationsmålet till ditt projekts node_modules-mapp.

Bemärk att du i det här fallet hänvisar till katalognamnet, node-redis,snarare än till paketnamnet redis.

Om ditt länkade paket har ett scope (se scope) måste ditt länkkommando inkludera detta scope, t.ex.

npm link @myorg/privatepackage

See Also

  • npm developers
  • package.json
  • npm install
  • npm folders
  • npm config
  • npmrc

Lämna ett svar

Din e-postadress kommer inte publiceras.