Sinopsis
npm link (în directorul de pachete)npm link <pkg>alias: npm ln
Descriere
Legăturarea pachetelor este un proces în doi pași.
În primul rând, npm link
într-un dosar de pachete va crea o legătură simbolică în dosarul global{prefix}/lib/node_modules/<package>
care face legătura cu pachetul în care a fost executată comanda npmlink
. De asemenea, va lega orice bins din pachet la {prefix}/bin/{name}
.Rețineți că npm link
utilizează prefixul global (vezi npm prefix -g
pentru valoarea acestuia).
În continuare, într-o altă locație, npm link package-name
va crea o legătură simbolică de la package-name
instalat global la node_modules/
din dosarul curent.
Rețineți că package-name
este preluat din package.json
,nu din numele directorului.
Numele pachetului poate fi prefixat opțional cu un domeniu de aplicare. A se vedea scope
.Domeniul de aplicare trebuie să fie precedat de un simbol @ și urmat de o bară oblică.
Când se creează tarball-uri pentru npm publish
, pachetele legate sunt „instantaneizate” la starea lor curentă prin rezolvarea legăturilor simbolice.
Acest lucru este util pentru a vă instala propriile lucruri, astfel încât să puteți lucra la ele și să le testați în mod iterativ fără a fi nevoie să reconstruiți continuu.
De exemplu:
cd ~/projects/node-redis # intră în directorul de pachetenpm link # creează o legătură globalăcd ~/projects/node-bloggy # intră într-un alt director de pachete.npm link redis # link-instalează pachetul
Acum, orice modificări la ~/proiecte/node-redis se vor reflecta în ~/proiecte/node-bloggy/node_modules/node-redis/. Rețineți că legătura trebuie să fie la numele pachetului, nu la numele directorului pentru acel pachet.
De asemenea, puteți scurta cei doi pași într-unul singur. De exemplu, pentru a face cazul de utilizare de mai sus într-un mod mai scurt:
cd ~/proiecte/node-bloggy # intrați în directorul proiectului dvs. principalnpm link ../node-redis # legați directorul dependenței dvs.
A doua linie este echivalentul de a face:
(cd ../node-redis; npm link)npm link redis
Acest lucru înseamnă că mai întâi creează o legătură globală și apoi leagă ținta de instalare globală în folderul node_modules
al proiectului dumneavoastră.
Rețineți că, în acest caz, vă referiți la numele directorului, node-redis
,mai degrabă decât la numele pachetului redis
.
Dacă pachetul legat este încadrat (a se vedea scope
), comanda dvs. de legătură trebuie să includă această încadrare, de ex.
npm link @myorg/privatepackage
See Also
- npm developers
- package.json
- npm install
- npm folders
- npm config
- npmrc
.