Verdaccio: Ein leistungsstarkes Tool für die einfache Verwaltung privater NPM -Pakete
Kernpunkte
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!
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.
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>
Sinopia und Verdaccio sind beide auf Mac/Linux und Windows verfügbar.
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>
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>
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>
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>
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>
Sie können jetzt auf den Registrierungsbrowser zugreifen, indem Sie zu der Adresse https://www.php.cn/link/0f3ea482c9513bf4548f302a46d9932d navigieren.
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>
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>
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>
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.
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>
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
Paket erstellen
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>
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 .
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.
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>
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>
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!
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.
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!
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.
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.
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.
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.
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.
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.
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.
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.
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.
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!