Hinweis
Dieser Pakettyp ist möglicherweise nicht für deine Instanz verfügbar, weil Websiteadministratoren die einzelnen unterstützten Pakettypen aktivieren oder deaktivieren können. Weitere Informationen finden Sie unter Konfigurieren der Paketökosystemunterstützung für dein Unternehmen.
Limits für veröffentlichte npm-Versionen
Wenn Sie über 1.000 npm-Paketversionen in GitHub Packages veröffentlichen, kann es bei der Nutzung zu Leistungsproblemen und Timeouts kommen.
Um die Leistung des Diensts zu verbessern, können Sie zukünftig nicht mehr als 1.000 Versionen eines Pakets GitHubveröffentlichen. Alle Versionen, die vor Erreichen dieses Limits veröffentlicht wurden, sind weiterhin lesbar.
Wenn du dieses Limit erreichst, kannst du Paketversionen löschen oder dich an den Support wenden. Wenn dieses Limit erzwungen wird, wird unserer Dokumentation eine Methode hinzugefügt, mit damit umgangen werden kann. Weitere Informationen findest du unter Löschen und Wiederherstellen eines Pakets oder Einführung in GitHub-Pakete.
Authentifizierung bei GitHub Packages
Hinweis
GitHub Packages unterstützt nur die Authentifizierung mit einem personal access token (classic). Weitere Informationen finden Sie unter Verwalten deiner persönlichen Zugriffstoken.
Du benötigst ein Zugriffstoken, um private, interne und öffentliche Pakete zu veröffentlichen, zu installieren und zu löschen.
Du kannst ein personal access token (classic) verwenden, um dich bei GitHub Packages oder der GitHub-API zu authentifizieren. Wenn du ein personal access token (classic) erstellst, kannst du dem Token je nach Bedarf verschiedene Bereiche zuweisen. Weitere Informationen zu paketbezogenen Bereichen für ein personal access token (classic) findest du unter Informationen zu Berechtigungen für GitHub-Pakete.
Um dich bei einer GitHub Packages-Registrierung innerhalb eines GitHub Actions-Workflows zu authentifizieren, kannst du Folgendes verwenden:
GITHUB_TOKEN, um Pakete zu veröffentlichen, die mit dem Workflowrepository verbunden sind.- Ein personal access token (classic) mit mindestens dem
read:packages-Bereich für die Installation von Paketen, die anderen privaten Repositorys zugeordnet sind (GITHUB_TOKENkann verwendet werden, wenn das Repository Lesezugriff auf das Paket enthält. Weitere Informationen findest du unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen).
Authentifizieren mit einem personal access token
Du musst ein personal access token (classic) mit den entsprechenden Bereichen verwenden, um Pakete in GitHub Packages zu veröffentlichen und zu installieren. Weitere Informationen finden Sie unter Einführung in GitHub-Pakete.
Sie können sich bei GitHub Packages mit npm authentifizieren, indem Sie entweder Ihre benutzerspezifische Datei ~/.npmrc so bearbeiten, dass sie Ihr personal access token (classic) enthält, oder indem Sie sich in der Befehlszeile bei npm mit Ihrem Benutzernamen und Ihrem personal access token
anmelden.
Zur Authentifizierung durch Hinzufügen Ihres personal access token (classic) zu Ihrer Datei ~/.npmrc bearbeiten Sie die Datei ~/.npmrc für Ihr Projekt so, dass sie die folgende Zeile enthält, und ersetzen Sie HOSTNAME durch den Hostnamen von Ihre GitHub Enterprise Server-Instance und TOKEN durch Ihr personal access token. Erstelle eine neue ~/.npmrc-Datei, wenn keine vorhanden ist.
Wenn Ihre Instanz die Unterdomänenisolation aktiviert hat:
//npm.HOSTNAME//:_authToken=TOKEN
Wenn die Unterdomänenisolation für deine Instanz deaktiviert ist:
//HOSTNAME/_registry/npm/:_authToken=TOKEN
Um sich durch Anmeldung bei npm zu authentifizieren, verwenden Sie den npm login Befehl, und ersetzen Sie den Benutzernamen durch Ihren Benutzernamen, TOKEN durch Ihre GitHubpersonal access token (classic)und PUBLIC-EMAIL-ADDRESS durch Ihre E-Mail-Adresse.
Wenn du die npm CLI Version 9 oder höher verwendest und du dich über die Befehlszeile bei einer privaten Registrierung anmeldest oder von dieser abmeldest, solltest du die --auth-type=legacy-Option verwenden, um deine Authentifizierungsdetails aus Eingabeaufforderungen einlesen zu können, anstatt den Standardanmeldeflow über einen Browser zu verwenden. Weitere Informationen finden Sie unter npm-login.
Wenn GitHub Packages nicht Ihre Standard-Paket-Registry für die Verwendung mit npm ist und Sie den Befehl npm audit verwenden möchten, empfehlen wir, das Flag --scope mit dem Namespace zu verwenden, der das Paket hostet (das persönliche Konto oder die Organisation ist und dem bzw. der das Repository gehört, in dem das Paket gehostet wird), wenn Sie sich bei GitHub Packages authentifizieren.
Wenn Ihre Instanz die Unterdomänenisolation aktiviert hat:
$ npm login --scope=@NAMESPACE --auth-type=legacy --registry=https://npm.HOSTNAME/
> Username: USERNAME
> Password: TOKEN
Wenn die Unterdomänenisolation für deine Instanz deaktiviert ist:
$ npm login --scope=@NAMESPACE --auth-type=legacy --registry=https://HOSTNAME/_registry/npm/
> Username: USERNAME
> Password: TOKEN
Veröffentlichen eines Pakets
Hinweis
Für Paketnamen und Bereiche dürfen nur Kleinbuchstaben verwendet werden.
Ihr Paket wird standardmäßig im GitHub Repository veröffentlicht, das Sie im name Feld der package.json Datei angeben. Beispielsweise würden Sie ein Paket mit dem Namen @my-org/test im Repository my-org/testGitHub veröffentlichen. Sie können mehrere Pakete im selben GitHub Repository veröffentlichen, indem Sie ein repository Feld in die package.json Datei einschließen. Weitere Informationen findest du unter Veröffentlichen mehrerer Pakete im selben Repository.
Du kannst die Bereichszuordnung für dein Projekt entweder mithilfe einer lokalen .npmrc-Datei im Projekt oder mithilfe der publishConfig-Option in der Datei package.json einrichten.
GitHub Packages unterstützt nur bereichsbezogene npm-Pakete. Die Namen bereichsbezogener Pakete weisen das Format @NAMESPACE/PACKAGE-NAME auf. Bereichsbezogene Pakete beginnen immer mit dem Symbol @. Möglicherweise musst du den Namen in der Datei package.json aktualisieren, um den bereichsbezogenen Namen zu verwenden. Wenn du beispielsweise der Benutzer octocat bist und dein Paket den Namen test hat, weise den bereichsbezogenen Paketnamen wie folgt zu: "name": "@octocat/test".
Nachdem Du ein Paket veröffentlicht hast, kannst Du das Paket auf GitHub ansehen. Weitere Informationen finden Sie unter Pakete anzeigen.
Veröffentlichen eines Pakets mit einer lokalen .npmrc-Datei
Du kannst eine .npmrc-Datei verwenden, um die Bereichszuordnung für dein Projekt zu konfigurieren. Verwenden Sie in der Datei .npmrc die URL GitHub Packages und den Kontoinhaber, damit GitHub Packages weiß, wohin Paketanforderungen geleitet werden sollen. Durch die Verwendung einer .npmrc Datei wird verhindert, dass andere Entwickler das Paket versehentlich in npmjs.org statt in GitHub Packagesnpmjs.org veröffentlichen.
- Authentifizieren bei GitHub Packages. Weitere Informationen findest Du unter Authentifizieren bei GitHub Packages.
- Erstelle oder bearbeite eine
.npmrc-Datei in demselben Verzeichnis wie deinepackage.json-Datei, um eine Zeile einzuschließen, die die GitHub Packages-URL und den Namespace angibt, in dem das Paket gehostet wird. ErsetzeNAMESPACEdurch den Namen des Benutzer- oder Organisationskontos , das das Repository besitzt, das dein Projekt enthält.
Wenn die Unterdomänenisolation aktiviert ist:
@NAMESPACE:registry=https://npm.HOSTNAME
Wenn die Unterdomänenisolation deaktiviert ist:
@NAMESPACE:registry=https://HOSTNAME/_registry/npm
-
Füge die NPMRC-Datei dem Repository hinzu, in dem GitHub Packages dein Projekt finden kann. Weitere Informationen finden Sie unter Eine Datei zu einem Repository hinzufügen.
-
Überprüfe den Namen deines Pakets in der Datei
package.jsondeines Projekts. Das Feldnamemuss den Bereich und den Namen des Pakets enthalten. Wenn Ihr Paket beispielsweise als "test" bezeichnet wird und Sie es in der Organisation "Meine Organisation" GitHub veröffentlichen, sollte dasnameFeld in Ihrempackage.jsonFeld lauten@my-org/test. -
Überprüfe das
repository-Feld in der Dateipackage.jsondeines Projekts. Das Feldrepositorymuss mit der URL für Ihr GitHub-Repository übereinstimmen. Wenn ihre Repository-URL beispielsweisegithub.com/my-org/testlautet, sollte das Repositoryfeldhttps://github.com/my-org/test.gitlauten. -
Das Paket veröffentlichen:
npm publish
Veröffentlichen eines Pakets mithilfe von publishConfig in der Datei package.json
Du kannst das publishConfig-Element in der Datei package.json verwenden, um die Registrierung anzugeben, in der das Paket veröffentlicht werden soll. Weitere Informationen findest du unter publishConfig in der npm-Dokumentation.
-
Bearbeite die Datei
package.jsonfür dein Paket, und füge einenpublishConfig-Eintrag ein.Wenn Ihre Instanz die Unterdomänenisolation aktiviert hat:
"publishConfig": { "registry": "https://npm. HOSTNAME/" },Wenn die Unterdomänenisolation für deine Instanz deaktiviert ist:
"publishConfig": { "registry": "https://HOSTNAME/_registry/npm/" }, -
Überprüfe das
repository-Feld in der Dateipackage.jsondeines Projekts. Das Feldrepositorymuss mit der URL für Ihr GitHub-Repository übereinstimmen. Wenn ihre Repository-URL beispielsweisegithub.com/my-org/testlautet, sollte das Repositoryfeldhttps://github.com/my-org/test.gitlauten. -
Das Paket veröffentlichen:
npm publish
Veröffentlichen mehrerer Pakete im gleichen Repository
Wenn Sie mehrere Pakete möchten, können Sie die URL des GitHub Repositorys in das repository Feld der package.json Datei für jedes Paket einschließen. Weitere Informationen findest du unter Erstellen einer package.json-Datei und Erstellen von Node.js-Modulen in der npm-Dokumentation.
Um sicherzustellen, dass die URL des Repositorys korrekt ist, ersetzen Sie REPOSITORY durch den Namen des Repositorys, das das Paket enthält, das Sie veröffentlichen möchten, und OWNER durch den Namen des persönlichen Kontos oder der Organisation, das GitHub das Repository besitzt.
GitHub Packages entspricht dem Repository basierend auf der URL anstelle des Paketnamens.
"repository":"https://HOSTNAME/OWNER/REPOSITORY",
Installieren eines Pakets
Sie können Pakete von GitHub Packages installieren, indem Sie die Pakete als Abhängigkeiten in der Datei package.json Ihres Projekts hinzufügen. Weitere Informationen zum Verwenden einer package.json-Datei in deinem Projekt findest du unter Arbeiten mit package.json in der npm-Dokumentation.
Du kannst Pakete standardmäßig aus einer Organisation hinzufügen. Weitere Informationen findest du unter Installieren von Paketen aus anderen Organisationen.
Außerdem müssen Sie die Datei .npmrc Ihrem Projekt hinzufügen, damit alle Anfragen zur Installation von Paketen über GitHub Packages geleitet werden. Wenn Sie alle Paketanfragen über GitHub Packages leiten, können Sie sowohl Pakete mit als auch ohne Bereich von npmjs.org verwenden. Weitere Informationen finden Sie unter npm-scope in der npm-Dokumentation.
- Authentifizieren bei GitHub Packages. Weitere Informationen findest Du unter Authentifizieren bei GitHub Packages.
- Erstelle oder bearbeite eine
.npmrc-Datei in demselben Verzeichnis wie deinepackage.json-Datei, um eine Zeile einzuschließen, die die GitHub Packages-URL und den Namespace angibt, in dem das Paket gehostet wird. ErsetzeNAMESPACEdurch den Namen des Benutzer- oder Organisationskontos , das das Repository besitzt, das dein Projekt enthält.
Wenn die Unterdomänenisolation aktiviert ist:
@NAMESPACE:registry=https://npm.HOSTNAME
Wenn die Unterdomänenisolation deaktiviert ist:
@NAMESPACE:registry=https://HOSTNAME/_registry/npm
-
Füge die NPMRC-Datei dem Repository hinzu, in dem GitHub Packages dein Projekt finden kann. Weitere Informationen finden Sie unter Eine Datei zu einem Repository hinzufügen.
-
Konfiguriere
package.jsonin deinem Projekt, um das Paket zu verwenden, das du installierst. Um Ihre Paketabhängigkeiten zur Dateipackage.jsonfür GitHub Packages hinzuzufügen, geben Sie den vollständig qualifizierten Paketnamen an, z. B.@my-org/server. Gib für Pakete aus npmjs.com den vollständigen Namen (z. B.@babel/coreoderlodash) an. ErsetzeORGANIZATION_NAME/PACKAGE_NAMEdurch deine Paketabhängigkeit.{ "name": "@my-org/server", "version": "1.0.0", "description": "Server app that uses the ORGANIZATION_NAME/PACKAGE_NAME package", "main": "index.js", "author": "", "license": "MIT", "dependencies": { "ORGANIZATION_NAME/PACKAGE_NAME": "1.0.0" } } -
Installiere das Paket.
npm install
Pakete von anderen Organisationen installieren
Standardmäßig können Sie nur Pakete aus einer Organisation verwenden GitHub Packages . Wenn Sie Paketanforderungen an mehrere Organisationen und Benutzer weiterleiten möchten, können Sie Ihrer .npmrc-Datei zusätzliche Zeilen hinzufügen, wobei Sie HOSTNAME durch den Hostnamen von Ihre GitHub Enterprise Server-Instance und NAMESPACE durch den Namen des persönlichen Kontos oder der Organisation ersetzen, , der bzw. die Eigentümerin des Repositorys ist, das das Projekt enthält.
Wenn Ihre Instanz die Unterdomänenisolation aktiviert hat:
@NAMESPACE:registry=https://npm.HOSTNAME
@NAMESPACE:registry=https://npm.HOSTNAME
Wenn die Unterdomänenisolation für deine Instanz deaktiviert ist:
@NAMESPACE:registry=https://HOSTNAME/_registry/npm
@NAMESPACE:registry=https://HOSTNAME/_registry/npm
Die Verwendung des offiziellen npm-Registrierungsdienstes
GitHub Packages ermöglicht Ihnen den Zugriff auf die offizielle npm-Registrierung unter registry.npmjs.com, wenn Ihr GitHub Enterprise Server Administrator dieses Feature aktiviert hat. Weitere Informationen findest du unter Herstellen einer Verbindung mit der offiziellen npm-Registrierung.