Sisällysluettelo

Synopsis

npm-linkki (pakettihakemistossa)
npm-linkki <pkg>
alias: npm ln

Kuvaus

Pakettien linkittäminen on kaksivaiheinen prosessi.

Ensin npm link pakettikansiossa luodaan symlinkki globaaliin kansioon{prefix}/lib/node_modules/<package>, joka linkittää pakettiin, jossa npmlink-komento suoritettiin. Se linkittää myös kaikki paketissa olevat binit osoitteeseen {prefix}/bin/{name}.Huomaa, että npm link käyttää globaalia etuliitettä (katso sen arvo kohdasta npm prefix -g).

Jatkossa, jossain muussa paikassa, npm link package-name luo asymbolisen linkin globaalisti asennetusta package-name:sta nykyisen kansion node_modules/:ään.

Huomaa, että package-name otetaan package.json:stä,ei hakemiston nimestä.

Paketin nimeen voidaan valinnaisesti liittää etuliite scope. Katso scope.Laajuusalueen edessä on oltava @-symboli ja sen jälkeen vinoviiva.

Laadittaessa tar-paketteja npm publish:lle, linkitetyt paketit ”tilannekuvataan” nykyiseen tilaansa ratkaisemalla symboliset linkit.

Tämä on kätevää, kun asennat omia juttujasi, jotta voit työskennellä niiden parissa ja testata niitä toistuvasti ilman, että joudut jatkuvasti rakentamaan niitä uudelleen.

Esimerkiksi:

cd ~/projects/node-redis # mene pakettihakemistoon
npm link # luo globaalin linkin
cd ~/projects/node-bloggy # mene johonkin muuhun pakettihakemistoon.
npm link redis # linkitä paketti

Nyt kaikki muutokset ~/projects/node-redis:iin heijastuvat ~/projects/node-bloggy/node_modules/node-redis/:een. Huomaa, että linkin tulee olla paketin nimeen, ei kyseisen paketin hakemiston nimeen.

Voit myös lyhentää nämä kaksi vaihetta yhteen. Voit esimerkiksi tehdä yllä olevan käyttötapauksen lyhyemmällä tavalla:

cd ~/projects/node-bloggy # siirry pääprojektisi hakemistoon
npm link ../node-redis # linkitä riippuvuussuhteesi hakemistoon

Kakkosrivi vastaa sitä, että teet:

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

Se luo siis ensin globaalin linkin ja linkittää sitten globaalin asennuskohteen projektisi node_modules-kansioon.

Huomaa, että tässä tapauksessa viitataan hakemiston nimeen node-redis eikä paketin nimeen redis.

Jos linkitettävällä paketilla on laajuus (ks. scope), linkkikomentosi on sisällytettävä tämä laajuus, esim.

npm link @myorg/privatepackage

Katso myös

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

Vastaa

Sähköpostiosoitettasi ei julkaista.