Letzte Aktualisierung am 08. September 2020 12:57:02 (UTC / GMT +8 Stunden)

Es gibt Zeiten, in denen Sie einen Symlink zu einem Paket erstellen möchten, es gibt auch Zeiten, in denen Sie sich von der Registrierung abmelden möchten. Sie können npm-link und npm-logout verwenden. um diese jeweils zu erreichen. In diesem Tutorial werden wir untersuchen, wie diese beiden CLI-Optionen funktionieren.

Npm-link

Mit diesem Befehl wird ein Symlink zu einem Paketordner erstellt.

Zusammenfassung

npm link (in package dir)npm link <pkg>alias: npm ln

Beschreibung

Es sind zwei Prozesse erforderlich, um ein Paket zu symbolisieren.

Der erste Prozess besteht darin, npm link in einem Paketordner auszuführen, um einen Symlink im globalen Ordner {prefix}/lib/node_modules/<package>zu erstellen, der auf das Paket verweist, in dem der Befehl npm link ausgeführt wurde. Es verknüpft auch alle Bins im Paket mit {prefix}/bin/{name} .

Das nächste, was Sie tun müssen, ist, dass Sie an einem anderen Ort npm link package-name ausführen npm link package-name . Dadurch wird eine symbolische Verknüpfung vom global installierten Paketnamen zu node_modules / des aktuellen Ordners erstellt.

Es sollte beachtet werden, dass package-name aus package .json und nicht aus dem Verzeichnisnamen.

Dem Paketnamen kann optional ein Gültigkeitsbereich vorangestellt werden. Dem Gültigkeitsbereich muss ein @-Symbol vorangestellt sein, gefolgt von einem Schrägstrich.

Wenn Sie Tarballs für npm publish erstellen, werden die verknüpften Pakete durch Auflösen der symbolischen Links in ihren aktuellen Status versetzt.

Dies ist sehr praktisch für die Installation Ihrer eigenen Sachen, so dass Sie bequem daran arbeiten und testen können, ohne ständig neu erstellen zu müssen.

Zum Beispiel:

cd ~/projects/node-redis #will go into the package directorynpm link # will create global linkcd ~/projects/node-bloggy #will go into some other package directory.npm link redis # will link-install the package

Jetzt werden alle Änderungen an ~/project/node-redis in ~/projects/node-bloggy/node_modules/node-redis/ .

Sie können die beiden Schritte auch zu einem zusammenfassen. Wenn Sie beispielsweise den obigen Anwendungsfall kürzer ausführen möchten, können Sie Folgendes ausführen:

cd ~/projects/node-bloggy # will go into the dir of your main projectnpm link ../node-redis # will link the dir of your dependency

Die zweite Zeile entspricht dem Tun:

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

Dies bedeutet, dass zuerst ein globaler Link erstellt und dann das globale Installationsziel mit dem Ordner node_modules Ihres Projekts verknüpft wird.

Es ist zu beachten, dass Sie sich auf den Verzeichnisnamen node-redis und nicht auf den Paketnamen redis beziehen.

Sie müssen den Bereich einschließen, der mit dem verknüpften Paket geliefert wird, wenn es sich um einen Gültigkeitsbereich handelt:

npm link @myorg/privatepackage

npm-logout

Mit diesem Befehl können Sie sich von der Registrierung abmelden.

Zusammenfassung

npm logout 

Beschreibung

Wenn Sie in einer Registrierung angemeldet sind, die tokenbasierte Authentifizierung unterstützt, weist dieser Befehl den Server an, die Sitzung dieses Tokens zu beenden. Das Token wird überall dort ungültig, wo Sie es verwenden, und nicht nur für die aktuelle Umgebung.

Wenn Sie in einer Legacy-Registrierung angemeldet sind, die die Benutzername- und Kennwortauthentifizierung verwendet, löscht dieser Befehl die Anmeldeinformationen in Ihrer Benutzerkonfiguration. In diesem Fall betrifft es nur die aktuelle Umgebung.

Wenn Sie-scope angeben, findet dieser Befehl die Anmeldeinformationen für die Registrierung, die mit diesem Bereich verbunden ist, sofern festgelegt.

Konfiguration

Registrierung

Dies ist die Basis-URL der npm-Paketregistrierung.

Standard: https://registry.npmjs.org/

Scope

Wenn Sie scope angeben, werden Sie aus dem angegebenen scope abgemeldet.

Standard: Der Bereich ist der Bereich Ihres aktuellen Projekts.

npm logout 

Zurück: Npm-install, npm-install-ci-test und npm-install-test CLI-Befehle
Weiter: Npm-ls und npm CLI-Optionen

Schreibe einen Kommentar

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