Hinweis: Dieser Pakettyp ist möglicherweise nicht für Ihre Instanz verfügbar, weil Websiteadministratoren die einzelnen unterstützten Pakettypen aktivieren oder deaktivieren können. Weitere Informationen findest du unter Konfigurieren der Paketökosystemunterstützung für dein Unternehmen.
Limits für veröffentlichte npm-Versionen
Wenn du mehr als 1.000 npm-Paketversionen auf GitHub Packages veröffentlichst, treten dabei möglicherweise Leistungsprobleme und Timeouts auf.
Um die Leistung des Diensts zu verbessern, kannst du zukünftig nicht mehr als 1.000 Versionen eines Pakets auf GitHub verö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.
Bei GitHub Packages authentifizieren
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 für die Authentifizierung bei GitHub Packages oder bei der GitHub Enterprise Server-API verwenden. Wenn du ein personal access token erstellst, kannst du dem Token je nach Bedarf verschiedene Bereiche zuweisen. Weitere Informationen zu paketbezogenen Bereichen für ein personal access token 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 (diesem muss mindestens der Bereich
read:packages
zugeordnet sein), um Pakete zu installieren, die zu anderen privaten Repositorys gehören (auf dieGITHUB_TOKEN
nicht zugreifen kann)
Authentifizieren mit einem personal access token
Du musst ein personal access token mit den entsprechenden Bereichen verwenden, um Pakete in GitHub Packages zu veröffentlichen und zu installieren. Weitere Informationen findest du unter Einführung in GitHub-Pakete.
Du kannst dich bei GitHub Packages mit npm authentifizieren, indem du entweder die benutzerspezifische Datei ~/.npmrc so bearbeitest, dass dein personal access token enthalten ist, oder indem du dich über die Befehlszeile mit deinem Benutzernamen und deinem personal access token bei npm anmeldest.
Wenn du dich authentifizieren möchtest, indem du dein personal access token zu deiner ~/.npmrc-Datei hinzufügst, bearbeite die ~/.npmrc-Datei für dein Projekt so, dass sie die folgende Zeile enthält. Ersetze dabei HOSTNAME durch den Hostnamen von Ihre GitHub Enterprise Server-Instance und TOKEN durch dein personal access token. Erstelle eine neue Datei ~/.npmrc, wenn keine solche Datei vorhanden ist.
Wenn die Unterdomänenisolation für deine Instanz aktiviert ist:
//npm.HOSTNAME//:_authToken=TOKEN
Wenn die Unterdomänenisolation für deine Instanz deaktiviert ist:
//HOSTNAME/_registry/npm/:_authToken=TOKEN
Wenn du dich bei der Anmeldung bei npm authentifizieren möchtest, verwende den Befehl npm login
, ersetze USERNAME durch deinen GitHub-Benutzernamen, TOKEN durch dein personal access token und PUBLIC-EMAIL-ADDRESS durch deine 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 deine Standardpaketregistrierung für die Verwendung von npm ist und du den npm audit
-Befehl verwenden möchtest, empfiehlt es sich, das --scope
-Flag mit dem Namespace zu verwenden, der das Paket hostet (das persönliche Konto oder die Organisation, , die das Repository besitzt, in dem das Paket gehostet wird), wenn du dich bei GitHub Packages authentifizierst.
Wenn die Unterdomänenisolation für deine Instanz aktiviert ist:
$ 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.
Dein Paket wird standardmäßig im Repository GitHub veröffentlicht, das du im Namensfeld name
der Datei package.json
angegeben hast. Beispielsweise würdest du ein Paket namens @my-org/test
im GitHub-Repository my-org/test
veröffentlichen. Du kannst mehrere Pakete in demselben GitHub-Repository veröffentlichen, indem du ein repository
-Feld in der Datei package.json
einschließt. 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 findest du 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. Verwende in der Datei .npmrc die GitHub Packages-URL und den Kontobesitzer, damit GitHub Packages weiß, wohin Paketanforderungen weitergeleitet werden sollen. Durch die Verwendung einer .npmrc-Datei wird verhindert, dass andere Entwickler*innen das Paket versehentlich auf npmjs.org anstatt auf GitHub Packages 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. ErsetzeNAMESPACE
durch 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 findest du unter Eine Datei zu einem Repository hinzufügen.
-
Überprüfe den Namen deines Pakets in der Datei
package.json
deines Projekts. Das Feldname
muss den Bereich und den Namen des Pakets enthalten. Wenn dein Paket beispielsweise den Namen „test“ trägt und du es in der GitHub-Organisation „My-org“ veröffentlichen möchtest, muss das Feldname
in der Dateipackage.json
@my-org/test
lauten. -
Überprüfe das Feld
repository
in der Datei package.json deines Projekts. Das Feldrepository
muss mit der URL für Ihr GitHub-Repository übereinstimmen. Wenn ihre Repository-URL beispielsweisegithub.com/my-org/test
lautet, sollte das Repositoryfeldhttps://github.com/my-org/test.git
lauten. -
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.json
für dein Paket, und füge einenpublishConfig
-Eintrag ein.
Wenn die Unterdomänenisolation für deine Instanz aktiviert ist:
"publishConfig": {
"registry": "https://npm. HOSTNAME/"
},
Wenn die Unterdomänenisolation für deine Instanz deaktiviert ist:
"publishConfig": {
"registry": "https://HOSTNAME/_registry/npm/"
},
-
Überprüfe das Feld
repository
in der Datei package.json deines Projekts. Das Feldrepository
muss mit der URL für Ihr GitHub-Repository übereinstimmen. Wenn ihre Repository-URL beispielsweisegithub.com/my-org/test
lautet, sollte das Repositoryfeldhttps://github.com/my-org/test.git
lauten. -
Das Paket veröffentlichen:
npm publish
Veröffentlichen mehrerer Pakete im gleichen Repository
Wenn du mehrere Pakete im selben Repository veröffentlichen möchtest, kannst du die URL des GitHub-Repositorys im Feld repository
der Datei package.json
einfügen. Weitere Informationen findest du unter Erstellen einer package.json-Datei und Erstellen von Node.js-Modulen in der npm-Dokumentation.
Wenn du sicherstellen möchtest, dass die URL des Repositorys korrekt ist, ersetze REPOSITORY
durch den Namen des Repositorys, das das zu veröffentlichende Paket enthält, und OWNER
durch den Namen des persönlichen Kontos oder der Organisation auf GitHub, in dessen Besitz sich das Repository befindet.
GitHub Packages passt das Repository anhand der URL anstelle des Paketnamens an.
"repository":"https://HOSTNAME/OWNER/REPOSITORY",
Installieren eines Pakets
Du kannst Pakete aus GitHub Packages installieren, indem du die Pakete als Abhängigkeiten in der Datei package.json
für dein Projekt hinzufügst. Weitere Informationen zur Verwendung einer package.json
-Datei in deinem Projekt findest du unter Arbeiten mit package.json in der Dokumentation zu npm.
Du kannst Pakete standardmäßig aus einer Organisation hinzufügen. Weitere Informationen findest du unter Installieren von Paketen aus anderen Organisationen.
Du musst außerdem die Datei .npmrc zu deinem Projekt hinzufügen, damit alle Anforderungen zum Installieren von Paketen an GitHub Packages weitergeleitet werden. Wenn Sie alle Paketanforderungen über GitHub Packages weiterleiten, können Sie sowohl bereichsbezogene als auch nicht bereichsbezogene Pakete aus npmjs.org verwenden. Weitere Informationen finden Sie unter „npm-scope“ in der Dokumentation zu npm.
- 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. ErsetzeNAMESPACE
durch 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 findest du unter Eine Datei zu einem Repository hinzufügen.
-
Konfiguriere
package.json
in deinem Projekt, um das Paket zu verwenden, das du installierst. Gib den vollständigen Paketnamen an (z. B.@my-org/server
), um die Paketabhängigkeiten zur Dateipackage.json
für GitHub Packages hinzuzufügen. Gib für Pakete aus npmjs.com den vollständigen Namen (z. B.@babel/core
oderlodash
) an. ErsetzeORGANIZATION_NAME/PACKAGE_NAME
durch 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 kannst du nur GitHub Packages-Pakete von einer Organisation verwenden. Wenn du Paketanforderungen an mehrere Organisationen und Benutzer*innen weiterleiten möchtest, kannst du der .npmrc-Datei zusätzliche Zeilen hinzufügen und HOSTNAME
durch den Hostnamen von Ihre GitHub Enterprise Server-Instance sowie NAMESPACE
durch den Namen des persönlichen Kontos oder der Organisation, in dessen Besitz sich das Repository befindet, das das Projekt enthält..
Wenn die Unterdomänenisolation für deine Instanz aktiviert ist:
@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
Verwenden der offiziellen npm-Registrierung
Mit GitHub Packages kannst du auf die offizielle npm-Registrierung unter registry.npmjs.com
zugreifen, wenn deine GitHub Enterprise Server-Administratorin dieses Feature aktiviert hat. Weitere Informationen findest du unter Herstellen einer Verbindung mit der offiziellen npm-Registrierung.