Heim > Web-Frontend > js-Tutorial > Host, veröffentlichen und verwalten private NPM -Pakete mit Verdaccio

Host, veröffentlichen und verwalten private NPM -Pakete mit Verdaccio

Jennifer Aniston
Freigeben: 2025-02-17 09:39:15
Original
761 Leute haben es durchsucht

Verdaccio: Ein leistungsstarkes Tool für die einfache Verwaltung privater NPM -Pakete

Host, Publish and Manage Private npm Packages with Verdaccio

Kernpunkte

  • Verdaccio ist eine kostenlose Alternative zu Hosting-, Veröffentlichungs- und Managementdiensten für das NPM Commercial Private Paket. Es ermöglicht die Erstellung einer lokalen NPM -Registrierung ohne Konfiguration und verfügt über eine eigene Datenbank.
  • Verdaccio fungiert als lokaler Cache/Proxy -Server, und wenn Abhängigkeiten nicht im benutzerdefinierten Repository gefunden werden, werden sie aus der offiziellen NPM -Registrierung heruntergeladen und im lokalen Speicherordner gespeichert. Es unterstützt auch die Erstellung lokaler privater Pakete.
  • Verdaccio ist einfach zu installieren und zu konfigurieren und kann so eingestellt werden, dass sie in gelegentlichen Abstürzen automatisch neu gestartet werden. Außerdem können sich Benutzer registrieren, um Pakete zu veröffentlichen.
  • Zusätzlich zum Hosting privater Pakete richtet Verdaccio auch öffentliche Pakete vor. Es wird überprüft, ob in seinem Speicherordner angeforderte Pakete enthalten sind. Wenn dies nicht gefunden werden kann, leitet dies die Anfrage an die offizielle NPM -Registrierung weiter, um die Anfrage herunterzuladen, zu speichern und zu antworten. Dies bedeutet, dass selbst wenn die offizielle Registrierung ausfällt, die zwischengespeicherte Version immer noch zugänglich ist.

Dieser Artikel wurde von Panayiotis «Pvgr» Velisarakos und Jürgen van de Moere überprüft. Vielen Dank an alle SitePoint -Peer -Rezensenten, die SitePoint -Inhalte perfekt gemacht haben!

Host, Publish and Manage Private npm Packages with Verdaccio

Wie wir alle wissen, sind NPM und seine Registrierung die De -facto -JavaScript -Paketmanager und die größte Codesammlung der Welt. Aber manchmal benötigen Sie bei der Entwicklung großartiger neuer Pakete zusätzliche Privatsphäre. Egal, ob es sich um ein Unternehmensprojekt handelt (das nicht öffentlich geteilt werden sollte), ein Master/Junggesellenarbeitsprojekt oder nur, weil Sie wie ich manchmal Ihren ersten Versuch zu einem neuen Thema schämen.

Aus irgendeinem Grund gibt es viele Optionen. Am einfachsten ist es, einen Geschäftsdienst für NPM zu registrieren, und dann können Sie dann beginnen. Dies erfordert jedoch eine Gebühr und ist möglicherweise nicht für die Brieftasche eines jeden geeignet.

Zum Glück gibt es eine kostenlose Alternative namens Verdaccio, die Ihnen helfen kann.

Einführung in Verdaccio

Verdaccio ist ein NPM -Paket, mit dem Sie eine lokale NPM -Registrierung ohne Konfiguration erstellen können. Dies ist ein Projekt mit allen notwendigen Funktionen mit einer eigenen Datenbank. Dies geschieht, indem es als lokaler Cache/Proxy -Server fungiert.

Dies bedeutet, dass wenn Sie versuchen, etwas zu installieren, das nicht aus einem benutzerdefinierten Repository existiert, es die offizielle NPM -Registrierung annimmt und die Abhängigkeiten herunterlädt. Ihr benutzerdefiniertes Repository speichert diese Abhängigkeiten in einem einfachen Ordner namens Storage. Die nächste Installation verwendet eine Kopie dieses lokalen Cache. Am wichtigsten ist, dass einige Befehle des NPM -Clients, wie z.

Wenn Sie der Meinung sind, dass dies nichts Neues ist, gibt es bereits Sinopia, Sie haben Recht. Verdaccio ist nur eine Gabel von Sinopia, die die Rückwärtskompatibilität beibehält, aber gleichzeitig versucht, mit den Änderungen im offiziellen NPM Schritt zu halten. Eine solche Änderung, die in Sinopia nicht verfügbar ist, ist das Zielfernrohrpaket, das Sie möglicherweise gesehen haben, bevor Sie Bibliotheken wie Angular 2 oder TypeScript NPM -Hosting -Typen verwenden. Sie können sie leicht anhand der @ symbole in den vorhergehenden identifizieren:

<code># 安装 Angular2 依赖项
npm install @angular/core

# 安装 TypeScript 的官方 Node.js 类型定义
npm install @types/node</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Sinopia und Verdaccio sind beide auf Mac/Linux und Windows verfügbar.

Anfänger von Verdaccio

Da Verdaccio ein NPM -Paket ist, können Sie es einfach installieren, indem Sie den folgenden Befehl ausführen:

<code>npm install -g verdaccio</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dann startet Verdaccio die Instanz und führt Ihre private Registrierung aus.

standardmäßig hört es Port 4873 an. Wir werden diskutieren, wie diese Einstellungen später geändert werden können.

In diesem Artikel werden wir die Registrierung auf Ihrer Entwicklungsmaschine einrichten. In einer Unternehmensumgebung müssen Sie dies möglicherweise auf einem dedizierten Server tun, damit alle Entwickler auf diese zugreifen können.

Verdaccio ist eine node.js -Anwendung, was bedeutet, dass Sie sie beim Absturz aufmerksam machen sollten. Ich empfehle die Verwendung von PM2. Sie müssen nur die folgenden Schritte ausführen:

<code># 安装 pm2
npm install pm2 -g

# 使用 pm2 启动 Verdaccio
pm2 start PATH-TO-GLOBAL-VERDACCIO/verdaccio
# --> 例如,对于 Windows:C:/Users/[USERNAME]/AppData/Roaming/npm/node_modules/verdaccio/bin/verdaccio</code>
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie nach dem Lesen dieses Artikels zu dem Schluss gekommen sind, dass Verdaccio nicht für Sie geeignet ist, stoppen Sie einfach den Prozess und deinstallieren Verdaccio mit dem folgenden Befehl:

<code>npm uninstall -g verdaccio</code>
Nach dem Login kopieren
Nach dem Login kopieren

client

konfigurieren

Wenn die Registrierung in Betrieb ist, müssen Sie den NPM -Client auf die neue Adresse verweisen. Dies kann durch Ausführen des folgenden Befehls erfolgen:

<code>npm set registry https://www.php.cn/link/0f3ea482c9513bf4548f302a46d9932d/</code>
Nach dem Login kopieren

Wenn Sie nur die Schritte in diesem Artikel ausführen und später in der ursprünglichen NPM -Registrierung wiederherstellen möchten, führen Sie diesen Befehl NPM SET -Registrierung https://www.php.cn/link/c0ab525d634e80fd8e20e3d6dc00b11c ((🎜) aus. Für HTTPS-basierte Zugriff) oder NPM-Set-Registrierung https://www.php.cn/link/6baadc89159617043965f9e1889224e7 (für den klassischen HTTP-Zugang).

, wenn Sie Registrierungsdienste für HTTPS anbieten, müssen Sie entsprechende CA -Informationen einrichten.

<code># 将值设置为 null 将使用操作系统提供的列表
npm set ca null</code>
Nach dem Login kopieren

Sie können jetzt auf den Registrierungsbrowser zugreifen, indem Sie zu der Adresse https://www.php.cn/link/0f3ea482c9513bf4548f302a46d9932d navigieren.

Host, Publish and Manage Private npm Packages with Verdaccio

benutzerdefinierte Registrierung konfigurieren

Wenn der Server startet, wird automatisch eine neue Konfigurationsdatei mit dem Namen config.yaml erstellt. Standardmäßig wird es in Ihrem Benutzerordner erstellt. Unter Windows könnte dies so aussehen:

<code>C:\Users\[USERNAME]\.config\verdaccio\config.yaml</code>
Nach dem Login kopieren

Eine wichtige Einstellung ist die Konfiguration des Standard -Ports für das Verdaccio -Hören. Sie können diese Einstellung ändern, indem Sie die folgenden Zeilen am Ende der Konfigurationsdatei hinzufügen.

<code># 安装 Angular2 依赖项
npm install @angular/core

# 安装 TypeScript 的官方 Node.js 类型定义
npm install @types/node</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Eine weitere Interesseneinstellung könnte die Verwendung eines Proxy sein, insbesondere in einem Unternehmensumfeld. Diese Einstellungen sind wie folgt:

<code>npm install -g verdaccio</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Denken Sie daran, nach dem Ändern einer Konfiguration Verdaccio neu zu starten, indem Sie den aktuellen Prozess getötet oder den PM2 -Prozess gestoppt und neu gestartet werden.

registrierten Benutzer

Zu guter Letzt müssen wir einen Benutzer konfigurieren, der das Paket in Ihrer Registrierung veröffentlicht. Wir können dies mit dem Befehl Standard Adduser tun, der auf unsere benutzerdefinierte Registrierung hinweist.

<code># 安装 pm2
npm install pm2 -g

# 使用 pm2 启动 Verdaccio
pm2 start PATH-TO-GLOBAL-VERDACCIO/verdaccio
# --> 例如,对于 Windows:C:/Users/[USERNAME]/AppData/Roaming/npm/node_modules/verdaccio/bin/verdaccio</code>
Nach dem Login kopieren
Nach dem Login kopieren
Folgen Sie danach einfach die Eingabeaufforderungen in der Befehlszeile.

Denken Sie daran, denselben Port zu verwenden, den Sie zuvor konfiguriert haben.

Dieser Benutzer wird verwendet, um sich gegen Verdaccio -Instanzen zu authentifizieren. Zusätzlich zu der oben genannten Konfiguration.

Ihr erstes privates NPM -Paket

Jetzt sind wir bereit, unser erstes Privatpaket zu erstellen. Wir werden ein einfaches Hello-World-Paket erstellen und den Prozess der Veröffentlichung sehen.

Paket erstellen

Erstellen Sie zuerst einen neuen Ordner namens Hello-World irgendwo. Jetzt müssen wir ein neues Paket starten, und wir verwenden den Befehl npm init, um dies zu tun. Sie werden eine Reihe von Fragen gestellt, aber jetzt akzeptieren die meisten Fragen Standardwerte. Geben Sie einfach eine Beschreibung, behalten Sie den Einstiegspunkt in index.js und fügen Sie Ihren Namen als Autor hinzu. Das Ergebnis ist eine Datei namens Package.json, die Ihr Paket beschreibt.

Eine gute Praxis ist das Präfix Ihres Paketnamens, damit Sie sofort feststellen können, ob Sie eine eigene lokale Quelle oder eine offizielle NPM -Quelle verwenden.

Der nächste Teil ist das Erstellen des eigentlichen Pakets. Daher erstellen wir eine Index.js -Datei. In diesem einfachen Beispiel wird nur eine helloWorld -Funktion exportiert:

<code>npm uninstall -g verdaccio</code>
Nach dem Login kopieren
Nach dem Login kopieren
Veröffentlichungspaket

Der Rest ist jetzt, Ihr Paket zu veröffentlichen. Dazu müssen wir zunächst die NPM -Anmeldung verwenden, um sich in unserer Registrierung anzumelden. Sie werden aufgefordert, den zuvor festgelegten Benutzernamen und das zuvor festgelegte Passwort einzugeben.

Führen Sie nach Abschluss dieses Vorgangs die NPM-Veröffentlichung im Stammverzeichnis von Hello-World aus, um den Vorgang abzuschließen.

Wenn Sie jetzt erneut auf den Registrierungsbrowser in Ihrem Browser zugreifen, der sich unter

https://www.php.cn/link/0f3ea482c9513bf4548f302a46d9932d/ befindet, werden die Liste das neue Paket .

Host, Publish and Manage Private npm Packages with Verdaccio

Beispiel Benutzeranwendung

Jetzt, da wir unser Privatpaket veröffentlicht haben, lassen Sie uns eine einfache Demo -Anwendung erstellen, um sie zu verwenden.

In einer neuen Ordnerdemo verwenden wir NPM Init erneut, um eine neue Knotenanwendung zu erstellen. Akzeptieren Sie erneut alle Vorschläge, fügen Sie möglicherweise nur Beschreibung und Autoreninformationen hinzu.

Erstellen Sie nach

eine Index.js -Datei, die als Stammverzeichnis unserer Anwendung fungiert.

installieren Sie Ihr Privatpaket

Um das Privatpaket zu installieren, müssen Sie im Grunde das Gleiche wie den Standard -NPM -Prozess tun.

<code># 安装 Angular2 依赖项
npm install @angular/core

# 安装 TypeScript 的官方 Node.js 类型定义
npm install @types/node</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Dies installiert das Paket in Ihren Ordner node_modules und aktualisiert den Abschnitt Abhängigkeiten von package.json.

Jetzt können wir das Paket verwenden. Öffnen Sie index.js und fügen Sie den folgenden Code hinzu:

<code>npm install -g verdaccio</code>
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Wenn Sie jetzt Ihre Anwendung mithilfe von node index.js ausführen, sollten Sie Hello World als Ausgabe in der Befehlszeile sehen.

Herzlichen Glückwunsch, Sie haben gerade Ihr eigenes Privatpaket gepostet und verwendet!

fordern Sie ein öffentliches Paket an

Gleiches gilt für öffentliche Pakete. Sie führen einfach immer wieder NPM-Installationspaketname aus und alles wird wie gewohnt im Ordner node_modules installiert.

Was Verdaccio hinter den Kulissen tut, ist, den Speicherordner zu überprüfen und zu überprüfen, ob das angeforderte Paket vorhanden ist. Wenn es nicht vorhanden ist, wird versucht, die Anfrage an die offizielle NPM -Registrierung weiterzuleiten, herunterzuladen und zu speichern und dann auf Ihre Anfrage zu antworten. Wenn Sie das nächste Mal eine NPM -Installationsanforderung für dasselbe Paket erstellen, wird nun das Paket angegeben.

Selbst wenn die offizielle Registrierung ausgeht oder aus irgendeinem Grund nicht zugänglich ist, können Sie dennoch auf Ihre eigene zwischengespeicherte Version zugreifen. Verdaccio lädt immer nur den angeforderten Inhalt herunter. Wenn Sie einige Updates veröffentlichen, werden Sie sie nach Bedarf herunterladen.

Bitte beachten Sie, dass der Registrierungsbrowser keine öffentlichen Pakete anzeigen sollte. Wenn Sie sie anzeigen müssen, können Sie die Datei .sinopia-db.json bearbeiten und den Paketnamen dem List-Array manuell hinzufügen. Vergessen Sie nicht, Verdaccio danach neu zu starten.

Schlussfolgerung

Jetzt können Sie Ihre eigene private Registrierung veranstalten und von zwischengespeicherten öffentlichen Paketen profitieren. Am wichtigsten ist, dass Sie jetzt auch private Pakete veröffentlichen können, ohne mit der Cloud kommunizieren zu müssen. Nach Abschluss der Installation sind alle relevanten NPM -Client -Befehle die gleichen wie üblich.

In der verrückten Situation, in der einige Ihrer Pakete beschädigt oder beschädigt sind, denken Sie daran, dass es sich nur um einen Ordner -Store handelt, in dem Sie Ihre Pakete hosten. Navigieren Sie also dorthin und löschen Sie das fehlerhafte Paket. Die nächste Installation kann Ihr Problem beheben.

Ich hoffe, Sie haben diesen Beitrag genossen und freuen uns, Sie in den Kommentaren zu hören!

FAQs (FAQ) über die Verwendung der privaten NPM -Pakete von Verdaccio

Was ist Verdaccio und warum sollte ich es für mein privates NPM -Paket verwenden?

Verdaccio ist eine Open Source, eine leichte und leistungsstarke private NPM -Registrierung, mit der Sie Ihre eigenen NPM -Pakete privat hosten können. Dies ist ein großartiges Werkzeug für Entwickler, die ihren Code und ihre Abhängigkeiten kontrollieren möchten. Verdaccio bietet eine sichere und effiziente Möglichkeit, NPM -Pakete zu verwalten, sodass Sie Pakete zwischenspeichern, den Zugriff steuern und sogar als Sicherungsoption verwenden können, wenn die primäre NPM -Registrierung sinkt.

Wie installiere ich Verdaccio in meinem System?

Die Installation von Verdaccio ist sehr einfach. Sie müssen Node.js und NPM in Ihrem System installieren. Nach Abschluss der Installation können Sie den Befehl npm installieren, um Verdaccio zu installieren: NPM -Installation -g Verdaccio. Dadurch wird Verdaccio weltweit in Ihrem System installiert.

Wie veröffentliche ich mein privates NPM -Paket mit Verdaccio?

Nach der Installation von Verdaccio können Sie Ihr privates NPM -Paket veröffentlichen, indem Sie sich zunächst mit dem Befehl npm anmeldung in Ihre Verdaccio -Registrierung anmelden. Sie werden für Ihren Benutzernamen, Ihr Passwort und Ihre E -Mail aufgefordert. Wenn Sie sich angemeldet haben, navigieren Sie zu Ihrem Paketverzeichnis und veröffentlichen Sie Ihr Paket mit dem Befehl npm veröffentlichen.

Wie steuere ich den Zugriff auf mein privates NPM -Paket in Verdaccio?

Mit

Verdaccio können Sie den Zugriff auf private NPM -Pakete über seine Konfigurationsdateikonfiguration steuern. Sie können angeben, wer auf Pakete zugreifen, veröffentlichen und unveröffentlicht werden kann. Sie können auch Benutzergruppen erstellen und ihnen Berechtigungen zuweisen.

Kann ich Verdaccio als Cache für öffentliche NPM -Pakete verwenden?

Ja, Verdaccio kann als Proxy und Cache für öffentliche NPM -Pakete fungieren. Dies bedeutet, dass Verdaccio beim Installieren des Pakets zunächst prüft, ob es in seinem Speicher verfügbar ist. Wenn es nicht verfügbar ist, holt es es aus dem öffentlichen NPM -Register und ruft es für die zukünftige Nutzung aus.

Wie konfigurieren Sie Verdaccio, um es als Fallback -Option zu verwenden?

Sie können Verdaccio so konfigurieren, dass sie als Fallback -Option fungieren, indem Sie sie als primäre Registrierung in der .npmrc -Datei festlegen. Auf diese Weise verwendet NPM, wenn die Hauptregistrierung von NPM ausgeht, automatisch Verdaccio.

Kann ich Verdaccio in andere Tools integrieren?

Ja, Verdaccio kann in eine Vielzahl von Tools wie Docker, Kubernetes und GitLab integriert werden. Dies macht es zu einem universellen Werkzeug, das sich an viele verschiedene Entwicklungsworkflows anpassen kann.

Wie kann ich mein Paket in Verdaccio migrieren?

Die Migration Ihrer Pakete nach Verdaccio ist so einfach wie die Veröffentlichung in der Verdaccio -Registrierung. Sie können dies tun, indem Sie sich in Ihrer Registrierung Ihres Verdaccio anmelden und den Befehl npm veröffentlichen.

Kann ich Verdaccio in einer Teamumgebung verwenden?

natürlich. Verdaccio ist so konzipiert, dass er in einer Teamumgebung arbeitet. Sie können steuern, wer auf die Pakete zugreifen kann, und machen Sie es zu einem großartigen Werkzeug für die Zusammenarbeit.

Wie kann ich zu Verdaccio beitragen?

Verdaccio ist ein Open -Source -Projekt, und Beiträge sind jederzeit willkommen. Sie können einen Beitrag leisten, indem Sie Fehler melden, Funktionen vorschlagen, die Dokumentation verbessern oder Pull -Anfragen senden.

Das obige ist der detaillierte Inhalt vonHost, veröffentlichen und verwalten private NPM -Pakete mit Verdaccio. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage