Indholdsfortegnelse

Synopsis

npm-link (i pakkefortegnelse)
npm-link <pkg>
alias: npm ln

Beskrivelse

Pakkelinking er en proces i to trin.

Først vil npm link i en pakkemappe oprette et symbolsk link i den globale mappe{prefix}/lib/node_modules/<package>, der linker til den pakke, hvor npmlink-kommandoen blev udført. Den vil også linke eventuelle bins i pakken til {prefix}/bin/{name}.Bemærk, at npm link bruger det globale præfiks (se npm prefix -g for dets værdi).

Næst, på et andet sted, vil npm link package-name oprette et symbolsk link fra globalt-installeret package-name til node_modules/af den aktuelle mappe.

Bemærk, at package-name er taget fra package.json,ikke fra mappenavnet.

Pakkenavnet kan eventuelt være forsynet med et scope som præfiks. Se scope.scope skal indledes med et @-symbol og efterfølges af en skråstreg.

Når der oprettes tarballs for npm publish, bliver de linkede pakker “snapshottet” til deres aktuelle tilstand ved at opløse de symbolske links.

Dette er praktisk til at installere dine egne ting, så du kan arbejde på dem og teste dem iterativt uden at skulle genopbygge dem hele tiden.

For eksempel:

cd ~/projects/node-redis # gå ind i pakkemappen
npm link # opretter globalt link
cd ~/projects/node-bloggy # gå ind i en anden pakkemappe.
npm link redis # link-installer pakken

Nu vil alle ændringer i ~/projects/node-redis blive afspejlet i ~/projects/node-bloggy/node_modules/node-redis/. Bemærk, at linket skal være til pakkenavnet, ikke til mappenavnet for den pågældende pakke.

Du kan også forkorte de to trin i ét. For eksempel, for at gøre ovenstående brugstilfælde på en kortere måde:

cd ~/projects/node-bloggy # gå ind i mappen for dit hovedprojekt
npm link ../node-redis # link mappen for din afhængighed

Den anden linje svarer til at gøre:

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

Det vil sige, at den først opretter et globalt link og derefter linker det globale installationsmål ind i dit projekts node_modules-mappe.

Bemærk, at du i dette tilfælde henviser til mappenavnet, node-redis,snarere end til pakkenavnet redis.

Hvis din linkede pakke er scoped (se scope), skal din link-kommando inkludere dette scope, f.eks.

npm link @myorg/privatepackage

Se også

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

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.