Node.js-Pakete verwalten

Auf dieser Seite werden die folgenden Aufgaben beschrieben:

  • Pakete und Paketversionen ansehen und löschen
  • Tags anzeigen, erstellen, aktualisieren und löschen

Hinweis

  1. Wenn das Ziel-Repository nicht vorhanden ist, erstellen Sie ein neues Repository.
  2. Prüfen Sie, ob Sie die erforderlichen Berechtigungen für das Repository haben.
  3. Konfigurieren Sie die Authentifizierung für npm.
  4. (Optional) Konfigurieren Sie die Standardeinstellungen für gcloud-Befehle.
  5. Wenn Sie das npm-Tool zur Authentifizierung verwenden, rufen Sie ein Zugriffstoken ab, bevor Sie mit npm eine Verbindung zu einem Repository herstellen.

Zugriffstoken abrufen

Zugriffstokens sind 60 Minuten lang gültig. Generieren Sie ein Zugriffstoken, bevor Sie Befehle ausführen, die mit Repositories interagieren.

Sie haben folgende Möglichkeiten, um ein Token zu erhalten:

  • Verwenden Sie den Befehl npx, um das Zugriffstoken zu aktualisieren.

    1. Die Anmeldedaten für die Verbindung zur öffentlichen npm-Registry befinden sich in der npm-Konfigurationsdatei des Nutzers ~/.npmrc.

    2. Führen Sie den folgenden Befehl in Ihrem Node.js-Projektverzeichnis aus.

      npx google-artifactregistry-auth
      
  • Fügen Sie der Datei package.json in Ihrem Projekt ein Skript hinzu.

    "scripts": {
     "artifactregistry-login": "npx google-artifactregistry-auth"
    }
    

    Führen Sie das Skript im Node.js-Projektverzeichnis aus.

    npm run artifactregistry-login
    

Artifact Registry liest die Artifact Registry-Repository-Einstellungen in der Projektdatei .npmrc und verwendet sie, um Token-Anmeldedaten in die Datei .npmrc des Nutzers aufzunehmen. Wenn Sie das Token in der .npmrc-Datei des Nutzers speichern, werden Ihre Anmeldedaten vom Quellcode und vom Versionsverwaltungssystem isoliert.

Pakete hinzufügen

Sie können jeweils nur eine bestimmte Version eines Pakets veröffentlichen. Dies ist eine Einschränkung von npm, damit der Inhalt einer veröffentlichten Paketversion immer identisch ist. Folgendes ist dann nicht möglich:

  • Überschreiben einer Paketversion durch erneutes Veröffentlichen im Repository.
  • Entfernen eines Pakets oder seiner Version aus dem Repository und Veröffentlichen eines Pakets mit demselben Namen und derselben Versionsnummer.

Wenn Sie beim Veröffentlichen eines Pakets kein Tag angeben, fügt npm das Tag latest hinzu. Wenn Sie die Installation Ihrer Pakete in einer bestimmten Entwicklungsphase vereinfachen möchten, können Sie Ihre Pakete mit einem Tag wie beta oder dev veröffentlichen.

So fügen Sie ein Paket hinzu:

  1. Der Paketname in package.json muss den für Ihr Repository konfigurierten Bereich enthalten. Das folgende Beispiel zeigt ein Paket mit dem Bereich dev-repo.

    "name": "@dev-repo/my-package"
    
  2. Wenn Sie das Credential Helper für die Authentifizierung mit einem Zugriffstoken verwenden, rufen Sie ein neues Token ab.

  3. Fügen Sie dem Repository Pakete hinzu. Sie können dazu einen npm- oder yarn-Befehl verwenden.

    Fügen Sie das Tag --tag ein und ersetzen Sie TAG durch das Tag, das Sie verwenden möchten, um das Paket zu taggen. Wenn Sie das Flag --tag nicht einfügen, setzt npm das Tag automatisch auf latest.

    npm publish --tag=TAG
    
    yarn publish --tag TAG
    

Pakete und Versionen ansehen

So erhalten Sie Paketinformationen mit npm oder yarn:

  1. Wenn Sie das Credential Helper für die Authentifizierung mit einem Zugriffstoken verwenden, rufen Sie ein neues Token ab.

  2. Führen Sie den entsprechenden Befehl aus:

    npm view
    
    yarn info
    

To view packages and package versions using the Google Cloud Console or gcloud:

Console

  1. Open the Repositories page in the Google Cloud Console.

    Zur Seite „Repositories“

  2. In the repository list, click the appropriate repository.

    The Packages page lists the packages in the repository.

  3. Click a package to view versions of the package.

gcloud

To list packages in a repository, run the following command:

gcloud artifacts packages list [--repository=REPOSITORY] [--location=LOCATION]

Where

  • REPOSITORY is the name of the repository. If you configured a default repository, you can omit this flag to use the default.
  • LOCATION is a regional or multi-regional location. Use this flag to view repositories in a specific location. If you configured a default location, you can omit this flag to use the default.

To view versions of a package, run the following command:

gcloud artifacts versions list --package=PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION]

Where

  • PACKAGE is the ID of the package or fully qualified identifier for the package.
  • REPOSITORY is the name of the repository. If you configured a default repository, you can omit this flag to use the default.
  • LOCATION is a regional or multi-regional location. Use this flag to view repositories in a specific location. If you configured a default location, you can omit this flag to use the default.

Pakete taggen

You can view, add, update, and delete tags. Tags can help you manage semantic versions of your packages and streamline installation of packages at a specific stage of development.

For example, you can tag the current release candidate build with rc. Your team can then install the correct version based on the tag instead of a version specifier, and unpublishing unused pre-release versions won't break your dependencies on the release candidate package.

Viewing tags

To view tags for a package:

Console

  1. Open the Repositories page in the Cloud Console.

    Zur Seite „Repositories“

  2. Click the package to view versions and the associated tags.

  3. Select the package version to tag.

  4. In the row of the selected version, click More actions (More actions), and then click Edit tags.

  5. Type new tags into the field and then click SAVE.

gcloud

Run the command:

gcloud artifacts tags list --package=PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION]

Where

  • PACKAGE is the name of the package in the repository.
  • REPOSITORY is the name of the repository. If you configured a default repository, you can omit this flag to use the default.
  • LOCATION is a regional or multi-regional location. Use this flag to view repositories in a specific location. If you configured a default location, you can omit this flag to use the default.

For example, to view tags for the package my-package in the repository my-repo in the default location, run the command:

gcloud artifacts tags list --package=my-pkg --repository=my-repo

Creating tags

You can create a tag for a specific version of a package.

To tag an existing image in a repository:

Console

  1. Open the Repositories page in the Cloud Console.

    Zur Seite „Repositories“

  2. Click the package to view versions of the package.

  3. Select the package version to tag.

  4. In the row of the selected version, click More actions (More actions), and then click Edit tags.

  5. Type new tags into the field and then click SAVE.

gcloud

Run the following command:

gcloud artifacts tags create TAG --package=PACKAGE \
    version=VERSION [--location=LOCATION] [--repository=REPOSITORY]

Where

  • TAG is the tag you want to apply to the package.
  • PACKAGE is the name of the package in the repository.
  • VERSION is version of the package that you want to tag.
  • LOCATION is a regional or multi-regional location. Use this flag to view repositories in a specific location. If you configured a default location, you can omit this flag to use the default.
  • REPOSITORY is the name of the repository. If you configured a default repository, you can omit this flag to use the default.

For example, to create the tag release-candidate for version 1.0.0 of package my-package in the repository my-repo in the default location, run the command:

gcloud artifacts tags create release-candidate --version=1.0.0 \
    --package=my-pkg --repository=my-repo

Updating tags

You can change a tag associated with a package version.

To change an existing tag:

Console

  1. Open the Repositories page in the Cloud Console.

    Zur Seite „Repositories“

  2. Click the package to view versions of the package.

  3. Select the package version with the tag to change.

  4. In the row of the selected version, click More actions (More actions), and then click Edit tags.

  5. Edit the tag and then click SAVE.

gcloud

Run the following command:

gcloud artifacts tags update TAG --package=PACKAGE \
    version=VERSION [--location=LOCATION] [--repository=REPOSITORY]

Where

  • TAG is the tag you want to apply to the package.
  • PACKAGE is the name of the package in the repository.
  • VERSION is version of the package that you want to tag.
  • LOCATION is a regional or multi-regional location. Use this flag to view repositories in a specific location. If you configured a default location, you can omit this flag to use the default.
  • REPOSITORY is the name of the repository. If you configured a default repository, you can omit this flag to use the default.

For example, to change the tag for version 1.0.0 of package my-package to production in the repository my-repo in the default location, run the command:

gcloud artifacts tags update production --version=1.0.0 \
    --package=my-pkg --repository=my-repo

Untagging package versions

You can remove an existing tag from a package version.

To remove a tag:

Console

  1. Open the Repositories page in the Cloud Console.

    Zur Seite „Repositories“

  2. Click the image to view versions of the image.

  3. Select the image version to untag.

  4. In the row of the selected version, click More actions (More actions), and then click Edit tags.

  5. Delete the tag and then click SAVE.

gcloud

Run the following command:

gcloud artifacts tags delete TAG --package=PACKAGE \
    [--location=<LOCATION] [--repository=REPOSITORY]

Where

  • TAG is the tag you want to apply to the package.
  • PACKAGE is the name of the package in the repository.
  • LOCATION is a regional or multi-regional location. Use this flag to view repositories in a specific location. If you configured a default location, you can omit this flag to use the default.
  • REPOSITORY is the name of the repository. If you configured a default repository, you can omit this flag to use the default.

For example, to remove the tag release-candidate from package my-package in the repository my-repo in the default location, run the command:

gcloud artifacts tags delete release-candidate --package=my-pkg \
    --repository=my-repo

Pakete installieren

So installieren Sie ein Paket aus dem Node.js-Paket-Repository:

  1. Wenn Sie das Credential Helper für die Authentifizierung mit einem Zugriffstoken verwenden, rufen Sie ein neues Token ab.

  2. Verwenden Sie den Befehl npm install oder yarn add.

    npm

    So installieren Sie eine Version mit dem Tag latest:

    npm install @SCOPE/PACKAGE
    

    So installieren Sie die Version mit einem anderen Tag:

    npm install @SCOPE/PACKAGE@TAG
    

    So installieren Sie eine bestimmte Version:

    npm install @SCOPE/PACKAGE@VERSION
    

    yarn

    So installieren Sie eine Version mit dem Tag latest:

    yarn add @SCOPE/PACKAGE
    

    So installieren Sie die Version mit einem anderen Tag:

    yarn add @SCOPE/PACKAGE@TAG
    

    So installieren Sie eine bestimmte Version:

    yarn add @SCOPE/PACKAGE@VERSION
    

    Ersetzen Sie die folgenden Werte:

    • SCOPE ist der mit dem Repository verknüpfte Bereich. Wenn Ihr Node.js-Paket-Repository nicht mit einem Bereich konfiguriert ist, lassen Sie @SCOPE/ im Befehl weg.
    • PACKAGE ist der Name des Pakets im Repository.
    • TAG ist das Tag für die Version, die Sie installieren möchten.
    • VERSION ist die Versionsnummer, die Sie installieren möchten.

Wenn Sie ein Paket als Abhängigkeit in package.json angeben, müssen Sie den Bereich für das Repository angeben. Das folgende Beispiel zeigt den Bereich @dev-repo für ein Paket mit dem Namen my-package.

"dependencies": {
  "@dev-repo/my-package": ">=1.0.0"
}

Pakete löschen

Nach der Veröffentlichung einer Paketversion können Sie ein Paket mit demselben Namen und derselben Versionskombination nicht noch einmal veröffentlichen, auch wenn diese Version gelöscht wurde. Dies ist eine npm-Einschränkung, um dafür zu sorgen, dass der Inhalt einer veröffentlichten Paketversion immer identisch ist.

Wenn Sie die Nutzer auffordern möchten, eine aktualisierte Paketversion zu installieren, verwenden Sie den Befehl npm deprecate, um die alte Version des Pakets als verworfen zu kennzeichnen. Wenn ein Nutzer versucht, das verworfene Paket zu installieren, gibt Artifact Registry eine Warnung zurück, dass diese Version verworfen wurde.

Before you delete a package or package version, verify that any you have communicated or addressed any important dependencies on it.

To delete a package:

Console

  1. Open the Repositories page in the Google Cloud Console.

    Zur Seite „Repositories“

  2. In the repository list, click the appropriate repository.

    The Packages page lists the packages in the repository.

  3. Select the package that you want to delete.

  4. Click DELETE.

  5. In the confirmation dialog box, click DELETE.

gcloud

Run the following command:

gcloud artifacts packages delete PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION] [--async]

Where

  • PACKAGE is the name of the package in the repository.
  • REPOSITORY is the name of the repository. If you configured a default repository, you can omit this flag to use the default.
  • LOCATION is a regional or multi-regional location. Use this flag to view repositories in a specific location. If you configured a default location, you can omit this flag to use the default.
  • --async Return immediately, without waiting for the operation in progress to complete.

To delete versions of a package:

Console

  1. Open the Repositories page in the Google Cloud Console.

    Zur Seite „Repositories“

  2. In the repository list, click the appropriate repository.

    The Packages page lists the packages in the repository.

  3. Click a package to view versions of that package.

  4. Select versions that you want to delete.

  5. Click DELETE.

  6. In the confirmation dialog box, click DELETE.

gcloud

Run the following command:

gcloud artifacts versions delete VERSION \
    --package=PACKAGE \
    [--repository=REPOSITORY] [--location=LOCATION] \
    [--async]

Where

  • PACKAGE is the name of the package in the repository.
  • REPOSITORY is the name of the repository. If you configured a default repository, you can omit this flag to use the default.
  • LOCATION is a regional or multi-regional location. Use this flag to view repositories in a specific location. If you configured a default location, you can omit this flag to use the default.
  • --async returns immediately, without waiting for the operation in progress to complete.

Nächste Schritte