Synopse
npm link (v package dir)npm link <pkg>alias: Napm ln
Popis
Propojování balíčků je dvoufázový proces.
Nejprve npm link
ve složce balíčku vytvoří symlink v globální složce{prefix}/lib/node_modules/<package>
, který odkazuje na balíček, v němž byl proveden příkaz npmlink
. Také propojí všechny koše v balíku s {prefix}/bin/{name}
. všimněte si, že npm link
používá globální předponu (její hodnotu najdete v npm prefix -g
).
Následující npm link package-name
v nějakém jiném umístění vytvoří symbolický odkaz z globálně nainstalovaného package-name
na node_modules/
aktuální složky.
Všimněte si, že package-name
je převzato z package.json
,nikoli z názvu adresáře.
Název balíčku může být volitelně doplněn předponou scope. Viz scope
.Oboru musí předcházet symbol @ a za ním musí následovat lomítko.
Při vytváření tarballů pro npm publish
jsou propojené balíky „snapshotovány“ do aktuálního stavu překladem symbolických odkazů.
To se hodí pro instalaci vlastních věcí, takže na nich můžete pracovat a testovat je opakovaně, aniž byste je museli neustále obnovovat.
Například:
cd ~/projects/node-redis # přejděte do adresáře s balíčkynpm link # vytvoří globální odkazcd ~/projects/node-bloggy # přejděte do jiného adresáře s balíčky.npm link redis # link-install balíčku
Nyní se všechny změny v ~/projects/node-redis projeví v ~/projects/node-bloggy/node_modules/node-redis/. Všimněte si, že odkaz by měl být na název balíčku, nikoli na název adresáře tohoto balíčku.
Dva kroky můžete také zkrátit na jeden. Například pro zkrácení výše uvedeného případu použití:
cd ~/projects/node-bloggy # přejděte do adresáře vašeho hlavního projektunpm link ../node-redis # link adresáře vaší závislosti
Druhý řádek je ekvivalentní provedení:
(cd ../node-redis; npm link)npm link redis
To znamená, že nejprve vytvoří globální odkaz a poté odkáže cíl globálníinstalace do složky node_modules
vašeho projektu.
Všimněte si, že v tomto případě se odkazujete na název adresáře, node-redis
,spíše než na název balíčku redis
.
Pokud je váš linkovaný balíček oborový (viz scope
), musí váš linkovací příkaz obsahovat tento rozsah, např.
npm link @myorg/privatepackage
Viz také
- npm developers
- package.json
- npm install
- npm folders
- npm config
- npmrc
.