Skip to main content

Diese Version von GitHub Enterprise Server wird eingestellt am 2026-08-25. Nicht mehr unterstützte Versionen werden nicht unterstützt. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Eine bessere Leistung, verbesserte Sicherheit und neue Features in GitHub Enterprise Server finden Sie unter Overview des Upgradeprozesses. Wenden Sie sich bei Fragen zum Upgrade an den GitHub Enterprise Support.

Arbeiten mit der npm-Registry

Sie können npm so konfigurieren, dass Pakete auf GitHub Packages veröffentlicht und auf GitHub Packages gespeicherte Pakete als Abhängigkeiten in einem npm-Projekt verwendet werden.

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_TOKEN kann 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.

  1. Authentifizieren bei GitHub Packages. Weitere Informationen findest Du unter Authentifizieren bei GitHub Packages.
  2. Erstelle oder bearbeite eine .npmrc-Datei in demselben Verzeichnis wie deine package.json-Datei, um eine Zeile einzuschließen, die die GitHub Packages-URL und den Namespace angibt, in dem das Paket gehostet wird. Ersetze NAMESPACE 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
  1. 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.

  2. Überprüfe den Namen deines Pakets in der Datei package.json deines Projekts. Das Feld name muss 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 das name Feld in Ihrem package.json Feld lauten @my-org/test.

  3. Überprüfe das repository-Feld in der Datei package.json deines Projekts. Das Feld repository muss mit der URL für Ihr GitHub-Repository übereinstimmen. Wenn ihre Repository-URL beispielsweise github.com/my-org/test lautet, sollte das Repositoryfeld https://github.com/my-org/test.git lauten.

  4. 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.

  1. Bearbeite die Datei package.json für dein Paket, und füge einen publishConfig-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/"
    },
    
  2. Überprüfe das repository-Feld in der Datei package.json deines Projekts. Das Feld repository muss mit der URL für Ihr GitHub-Repository übereinstimmen. Wenn ihre Repository-URL beispielsweise github.com/my-org/test lautet, sollte das Repositoryfeld https://github.com/my-org/test.git lauten.

  3. 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.

  1. Authentifizieren bei GitHub Packages. Weitere Informationen findest Du unter Authentifizieren bei GitHub Packages.
  2. Erstelle oder bearbeite eine .npmrc-Datei in demselben Verzeichnis wie deine package.json-Datei, um eine Zeile einzuschließen, die die GitHub Packages-URL und den Namespace angibt, in dem das Paket gehostet wird. Ersetze NAMESPACE 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
  1. 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.

  2. Konfiguriere package.json in deinem Projekt, um das Paket zu verwenden, das du installierst. Um Ihre Paketabhängigkeiten zur Datei package.json fü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/core oder lodash) an. Ersetze ORGANIZATION_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"
      }
    }
    
  3. 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.