Tartalomjegyzék

Szinopszis

npm link (a package dir-ben)
npm link <pkg>
alias:

Leírás

A csomagok összekapcsolása kétlépcsős folyamat.

Először a npm link egy csomag mappában létrehoz egy symlinket a globális mappában{prefix}/lib/node_modules/<package>, amely arra a csomagra hivatkozik, ahol a npmlink parancsot végrehajtották. A csomagban lévő összes tárolót is összekapcsolja a {prefix}/bin/{name}-vel.Vegyük észre, hogy a npm link a globális előtagot használja (értékét lásd a npm prefix -g-ben).

Ezután, egy másik helyen, a npm link package-name aszimbolikus linket hoz létre a globálisan telepített package-name-ból a node_modules/-hez az aktuális mappában.

Megjegyezzük, hogy a package-name a package.json-ből származik, nem pedig a könyvtárnévből.

A csomag neve elé opcionálisan egy hatókör előtagot is tehetünk. Lásd scope.A hatókör előtt egy @ szimbólumnak kell állnia, és egy perjelnek kell követnie.

Az npm publish tarballok készítésekor a linkelt csomagok a szimbolikus linkek feloldásával “pillanatképet” kapnak az aktuális állapotukról.

Ez praktikus a saját cuccok telepítésénél, hogy folyamatosan újrakészítés nélkül dolgozhass rajta és tesztelhesd.

Példa:

cd ~/projects/node-redis # bemegy a csomagkönyvtárba
npm link # létrehozza a globális linket
cd ~/projects/node-bloggy # bemegy egy másik csomagkönyvtárba.
npm link redis # link-installálja a csomagot

Most, a ~/projects/node-redis-ben történt bármilyen változás tükröződni fog~/projects/node-bloggy/node_modules/node-redis/-ben. Vegye figyelembe, hogy a hivatkozásnak a csomag nevére kell vonatkoznia, nem pedig a csomaghoz tartozó könyvtár nevére.

A két lépést egyben is lerövidítheti. Például a fenti felhasználási eset rövidebb módon történő elvégzéséhez:

cd ~/projects/node-bloggy # menj a fő projekted dir-jébe
npm link ../node-redis # linkeld a függőséged dir-jébe

A második sor a következővel egyenértékű:

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

Ez először létrehoz egy globális linket, majd a globális telepítési célt a projekted node_modules mappájába linkeli.

Megjegyezzük, hogy ebben az esetben a node-redis könyvtárnévre hivatkozik, nem pedig a redis csomagnévre.

Ha a linkelt csomagja hatókörrel rendelkezik (lásd scope), akkor a link parancsának tartalmaznia kell ezt a hatókört, pl.

npm link @myorg/privatepackage

Lásd még

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

.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.