Inhaltsverzeichnis

Synopsis

npm link (im Paketverzeichnis)
npm link <pkg>
alias: npm ln

Beschreibung

Das Verlinken von Paketen ist ein zweistufiger Prozess.

Erst erstellt npm link in einem Paketordner einen Symlink im globalen Ordner{prefix}/lib/node_modules/<package>, der auf das Paket verweist, in dem der Befehl npmlink ausgeführt wurde. Beachten Sie, dass npm link das globale Präfix verwendet (siehe npm prefix -g für seinen Wert).

Nächstens wird npm link package-name an einem anderen Ort einen symbolischen Link vom global installierten package-name zu node_modules/ des aktuellen Ordners erstellen.

Beachte, dass package-name aus package.json entnommen wird, nicht aus dem Verzeichnisnamen.

Dem Paketnamen kann optional ein Bereich vorangestellt werden. Siehe scopeDem Scope muss ein @-Zeichen vorangestellt werden, gefolgt von einem Schrägstrich.

Bei der Erstellung von Tarballs für npm publish werden die verknüpften Pakete durch Auflösen der symbolischen Links auf ihren aktuellen Stand gebracht.

Das ist praktisch, um eigene Sachen zu installieren, so dass man daran arbeiten und sie wiederholend testen kann, ohne sie ständig neu erstellen zu müssen.

Zum Beispiel:

cd ~/projects/node-redis # gehe in das Paketverzeichnis
npm link # erstellt globalen Link
cd ~/projects/node-bloggy # gehe in ein anderes Paketverzeichnis.
npm link redis # link-install the package

Jetzt werden alle Änderungen an ~/projects/node-redis in~/projects/node-bloggy/node_modules/node-redis/ wiedergegeben. Beachten Sie, dass der Link auf den Paketnamen und nicht auf den Verzeichnisnamen dieses Pakets verweisen sollte.

Sie können die beiden Schritte auch in einem abkürzen. Zum Beispiel, um den obigen Anwendungsfall auf eine kürzere Art und Weise auszuführen:

cd ~/projects/node-bloggy # gehe in das Verzeichnis deines Hauptprojekts
npm link ../node-redis # linke das Verzeichnis deiner Abhängigkeit

Die zweite Zeile ist das Äquivalent zu:

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

Das heißt, es wird zuerst ein globaler Link erstellt und dann das globale Installationsziel in den node_modulesOrdner des Projekts gelinkt.

Beachten Sie, dass Sie sich in diesem Fall auf den Verzeichnisnamen node-redisund nicht auf den Paketnamen redis beziehen.

Wenn Ihr verlinktes Paket einen Geltungsbereich hat (siehe scope), muss Ihr Link-Befehl diesen Geltungsbereich einschließen, z.B.

npm link @myorg/privatepackage

Siehe auch

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.