Da dies einige Jahre her ist und dies nicht möglich zu sein scheint (nur mit npm), besteht eine Lösung für dieses Problem darin, den Nexus Repository Manager (von Sonatype) zu verwenden. Nexus unterstützt mehrere Repositorys, mit denen Sie sie bestellen können, sowie Proxys / Caches, um die Geschwindigkeit zu verbessern.
Es gibt eine kostenlose Version und eine Pro / Paid-Version. Die Funktion, die dies unterstützt, wird unter
https://help.sonatype.com/repomanager3/node-packaged-modules-and-npm-registries beschrieben
Die relevanten Informationen werden unten dupliziert. Wenn also die obige URL / der obige Link nicht mehr funktioniert, sind die Informationen immer noch hier.
Eine Repository-Gruppe ist die empfohlene Methode, um alle Ihre npm-Registrierungs-Repositorys aus dem Repository-Manager für Ihre Benutzer verfügbar zu machen, ohne dass eine weitere clientseitige Konfiguration erforderlich ist. Mit einer Repository-Gruppe können Sie den aggregierten Inhalt mehrerer Proxy- und gehosteter Repositorys mit einer URL zu npm und anderen Tools verfügbar machen.
Sie können damit private npm-Register erstellen
Eine private npm-Registrierung kann verwendet werden, um Ihre eigenen Pakete sowie Pakete von Drittanbietern hochzuladen.
Und
Um doppelte Downloads zu reduzieren und die Download-Geschwindigkeit für Ihre Entwickler und CI-Server zu verbessern, sollten Sie die unter https://registry.npmjs.org gehostete Registrierung als Proxy verwenden . Standardmäßig greift npm direkt auf diese Registrierung zu. Sie können auch alle anderen von Ihnen benötigten Registries vertreten.
Eine kurze Liste der Dinge, die Sie tun, um dies zum Laufen zu bringen, lautet also:
Installieren Sie Nexus
Erstellen Sie ein lokales / privates Repo (oder zeigen Sie auf Ihr privates Repo auf einem anderen Server).
Erstellen Sie eine GRUPPE, in der Ihr privates Repo und das öffentliche Repo aufgelistet sind.
Konfigurieren Sie Ihre $ HOME / .npmrc-Datei so, dass sie auf die gerade erstellte "GROUP" verweist.
Veröffentlichen Sie Ihre privaten npm-Pakete im lokalen Repo.
Benutzer können jetzt ein einmaliges Setup ausführen.
npm config set registry https://nexus/content/groups/GROUP
- Dann können Benutzer sowohl öffentliche als auch private Pakete über installieren
npm install
.
npm install my-private-package
npm install lodash any-other-public-package
Und sowohl Ihre öffentlichen als auch Ihre privaten Pakete können mit einem einfachen npm install
Befehl installiert werden . Nexus findet das Paket, das jedes in der Gruppe konfigurierte Repo durchsucht, und gibt die Ergebnisse zurück. Npm glaubt also immer noch, dass es nur eine Registrierung gibt, aber hinter dem Vorhang werden mehrere Repos verwendet.
WICHTIGER HINWEIS: Wenn Sie Ihre Komponenten veröffentlichen, müssen Sie den npm publish --registry https://nexus/content/repositories/private-repo my-private-package
Befehl angeben, damit Ihr Paket im richtigen Repo veröffentlicht wird.