Heim >Web-Frontend >js-Tutorial >Private npm-Repositorys
Im Folgenden finden Sie eine ausführliche Anleitung zum Einrichten eines privaten NPM-Repositorys, einschließlich verschiedener Alternativen und praktischer Codeausschnitte, die Ihnen den Einstieg erleichtern. Unabhängig davon, ob Sie Einzelentwickler oder Teil eines großen Teams sind, können Sie durch das private Hosten Ihrer eigenen NPM-Pakete Kontrolle, Flexibilität und verbesserte Sicherheit erhalten.
Selbst gehostete Lösungen
Verwaltet von Git-Hosts
npm Enterprise
Verdaccio ist ein Open-Source-NPM-Registrierungs-Proxy, der einfach einzurichten und zu verwenden ist. Es ermöglicht Ihnen, private Pakete zu hosten und auch öffentliche Pakete aus der offiziellen npm-Registrierung zwischenzuspeichern.
Vorausgesetzt, Node.js ist bereits auf Ihrem Computer installiert:
# Install Verdaccio globally npm install --global verdaccio
verdaccio
Standardmäßig startet Verdaccio auf Port 4873. Sie können Ihren Browser auf http://localhost:4873 öffnen, um die Verdaccio-Benutzeroberfläche anzuzeigen.
Verdaccio erstellt beim ersten Start eine Standardkonfigurationsdatei. Sie können es durch Bearbeiten anpassen (der Dateipfad kann je nach System variieren). Eine typische Konfiguration (~/.config/verdaccio/config.yaml) sieht wie folgt aus:
# Install Verdaccio globally npm install --global verdaccio
verdaccio
Hier werden Sie zur Eingabe von Benutzername, Passwort und E-Mail-Adresse aufgefordert. Sobald Sie fertig sind, werden Sie in Ihre private Registrierung eingeloggt.
In einem Paketverzeichnis mit einer gültigen package.json:
storage: ./storage auth: htpasswd: file: ./htpasswd max_users: 100 uplinks: npmjs: url: https://registry.npmjs.org/ packages: '@*/*': access: $all publish: $authenticated proxy: npmjs '**': access: $all publish: $authenticated proxy: npmjs middlewares: audit: enabled: true logs: - { type: stdout, format: pretty, level: http }
Das ist es! Ihr Paket ist jetzt in Ihrer lokalen Verdaccio-Registrierung veröffentlicht.
Um ein Paket aus dieser Registrierung zu installieren, können Sie entweder:
npm adduser --registry http://localhost:4873
npm publish --registry http://localhost:4873
Wenn Sie Ihren Code bereits auf GitHub hosten, kann die Verwendung von GitHub-Paketen eine bequeme Möglichkeit sein, alles unter einem Dach zu halten.
Erstellen Sie ein persönliches Zugriffstoken (PAT) mit den Bereichen read:packages und write:packages. Sie können dieses Token in Ihren GitHub-Einstellungen unter Entwicklereinstellungen -> generieren. Persönliche Zugriffstoken.
Fügen Sie Ihr Token zu .npmrc hinzu:
npm install <package-name> --registry http://localhost:4873
Ersetzen Sie YOUR_GITHUB_USERNAME durch Ihren tatsächlichen Benutzernamen oder GitHub-Organisationsnamen.
Aktualisieren Sie Ihre package.json mit einem Bereich, der Ihrem GitHub-Benutzernamen oder Ihrer GitHub-Organisation entspricht:
registry=http://localhost:4873
Dann veröffentlichen:
//npm.pkg.github.com/:_authToken=YOUR_PERSONAL_ACCESS_TOKEN @YOUR_GITHUB_USERNAME:registry=https://npm.pkg.github.com
Stellen Sie sicher, dass .npmrc auf GitHub-Pakete verweist, dann:
{ "name": "@YOUR_GITHUB_USERNAME/my-private-package", "version": "1.0.0", "publishConfig": { "registry": "https://npm.pkg.github.com" } }
GitLab bietet auch eine integrierte Paketregistrierung.
Erstellen oder aktualisieren Sie Ihre lokale/globale .npmrc-Datei mit Ihren GitLab-Anmeldeinformationen:
npm publish
Aktualisieren Sie Ihren package.json-Bereich so, dass er mit der GitLab-Gruppe oder dem Benutzernamensraum übereinstimmt:
npm install @YOUR_GITHUB_USERNAME/my-private-package
Dann veröffentlichen:
# Install Verdaccio globally npm install --global verdaccio
verdaccio
Wenn Sie nach einer robusten On-Premise-Lösung suchen, die mehrere Repository-Typen unterstützt, sind Sonatype Nexus oder JFrog Artifactory möglicherweise die beste Wahl.
Verwenden Sie ein ähnliches .npmrc-Setup, um Ihren npm-Client auf Ihr neues Nexus-npm-Repository zu verweisen:
storage: ./storage auth: htpasswd: file: ./htpasswd max_users: 100 uplinks: npmjs: url: https://registry.npmjs.org/ packages: '@*/*': access: $all publish: $authenticated proxy: npmjs '**': access: $all publish: $authenticated proxy: npmjs middlewares: audit: enabled: true logs: - { type: stdout, format: pretty, level: http }
Veröffentlichen Sie Ihr Paket wie gewohnt:
npm adduser --registry http://localhost:4873
npm publish --registry http://localhost:4873
Veröffentlichen mit:
npm install <package-name> --registry http://localhost:4873
Für große Organisationen, die vollständige Kontrolle, Prüfung und erweiterte Sicherheit benötigen, ist npm Enterprise eine Option. Es bietet:
Anweisungen zur Einrichtung finden Sie in der npm Enterprise-Dokumentation.
Durch die Einrichtung eines privaten NPM-Repositorys haben Sie die Freiheit, Ihre eigenen Pakete sicher zu verwalten und zu hosten. Ganz gleich, ob Sie eine selbst gehostete Lösung wie Verdaccio verwenden, verwaltete Lösungen wie GitHub Packages oder GitLab Packages nutzen oder sich für Unternehmenslösungen wie Nexus, Artifactory oder npm Enterprise entscheiden – die Grundlagen bleiben die gleichen:
Wählen Sie den Ansatz, der den Anforderungen Ihres Unternehmens in Bezug auf Sicherheit, Skalierbarkeit und Wartung am besten entspricht. Mit den obigen Beispielen und Codeausschnitten sollten Sie über eine solide Grundlage verfügen, um mit dem Hosten Ihrer eigenen privaten NPM-Pakete zu beginnen. Viel Spaß beim Codieren!
Das obige ist der detaillierte Inhalt vonPrivate npm-Repositorys. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!