

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Konfiguriere und verwende Yarn mit CodeArtifact
<a name="npm-yarn"></a>

Nachdem Sie ein Repository erstellt haben, können Sie den Yarn-Client verwenden, um npm-Pakete zu verwalten.

**Anmerkung**  
`Yarn 1.X`liest und verwendet Informationen aus Ihrer npm-Konfigurationsdatei (.npmrc), tut dies jedoch nicht. `Yarn 2.X` Die Konfiguration für `Yarn 2.X` muss in der Datei .yarnrc.yml definiert werden.

**Contents**
+ [`Konfigurieren Sie Yarn 1.X mit dem Befehl aws codeartifact login`](#npm-yarn-configure-login)
+ [Konfigurieren Sie Yarn 2.X mit dem Befehl `yarn config set`](#npm-yarn-configure-yarn-command)

## `Konfigurieren Sie Yarn 1.X mit dem Befehl aws codeartifact login`
<a name="npm-yarn-configure-login"></a>

Denn `Yarn 1.X` Sie können Yarn mit dem CodeArtifact Befehl konfigurieren. `aws codeartifact login` Der `login` Befehl konfiguriert Ihre \~/.npmrc-Datei mit Ihren CodeArtifact Repository-Endpunktinformationen und Anmeldeinformationen. Mit verwenden `yarn` Befehle `Yarn 1.X` die Konfigurationsinformationen aus der Datei \~/.npmrc.

**Um `Yarn` 1.X mit dem Login-Befehl zu konfigurieren**

1. Falls Sie dies noch nicht getan haben, konfigurieren Sie Ihre AWS Anmeldeinformationen für die Verwendung mit AWS CLI, wie unter beschrieben[Erste Schritte mit CodeArtifact](getting-started.md).

1. Um den `aws codeartifact login` Befehl erfolgreich auszuführen, muss npm installiert sein. [Installationsanweisungen finden Sie unter Herunterladen Node.js und Installieren und npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm/) in der *npm-Dokumentation*.

1. Verwenden Sie den `aws codeartifact login` Befehl, um CodeArtifact Anmeldeinformationen abzurufen und Ihre \~/.npmrc-Datei zu konfigurieren.
   + Ersetze es durch deinen Domainnamen. {{my\_domain}} CodeArtifact 
   + {{111122223333}}Ersetzen Sie es durch die AWS Konto-ID des Inhabers der Domain. Wenn Sie auf ein Repository in einer Domain zugreifen, die Sie besitzen, müssen Sie nichts angeben`--domain-owner`. Weitere Informationen finden Sie unter [Cross-account Domänen](domain-overview.md#domain-overview-cross-account).
   + Ersetze es {{my\_repo}} durch deinen CodeArtifact Repository-Namen.

   ```
   aws codeartifact login --tool npm --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}}
   ```

   Der `login` Befehl nimmt die folgenden Änderungen an Ihrer \~/.npmrc-Datei vor:
   + Fügt ein Autorisierungstoken hinzu, nachdem Sie es mithilfe Ihrer Anmeldeinformationen abgerufen haben. CodeArtifact AWS 
   + Setzt die NPM-Registrierung auf das in der Option angegebene Repository. `--repository`
   + **Für npm 6 und niedriger:** Fügt hinzu, `"always-auth=true"` dass das Autorisierungstoken für jeden npm-Befehl gesendet wird.

   Die Standardautorisierungszeit nach dem Aufrufen `login` beträgt 12 Stunden und `login` muss aufgerufen werden, um das Token regelmäßig zu aktualisieren. Weitere Hinweise zu dem mit dem `login` Befehl erstellten Autorisierungstoken finden Sie unter[`Mit dem Login-Befehl erstellte Token`](tokens-authentication.md#auth-token-login).

1. **Für npm 7 und höher** müssen Sie `always-auth=true` zu Ihrer \~/.npmrc-Datei etwas hinzufügen, um Yarn verwenden zu können.
**Anmerkung**  
Ohne diese `always-auth=true` Option sendet Yarn 1.X nur Authentifizierungsdaten für bereichsbezogene Paketanfragen (z. B.). `@scope/package` Anfragen für Pakete ohne Bereichsbeschränkung (zum Beispiel`lodash`) schlagen mit dem Fehler 401 Unauthenticated fehl, da Yarn den Autorisierungsheader nicht enthält.

   1. Öffne deine \~/.npmrc-Datei in einem Texteditor und füge eine neue Zeile hinzu. `always-auth=true`

Sie können den `yarn config list` Befehl verwenden, um zu überprüfen, ob Yarn die richtige Konfiguration verwendet. Überprüfen Sie nach dem Ausführen des Befehls die Werte im `info npm config` Abschnitt. Der Inhalt sollte dem folgenden Ausschnitt ähneln.

```
info npm config
{
  registry: 'https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/',
  '//my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/:_authToken': 'eyJ2ZXI...',
  'always-auth': true
}
```

## Konfigurieren Sie Yarn 2.X mit dem Befehl `yarn config set`
<a name="npm-yarn-configure-yarn-command"></a>

Das folgende Verfahren beschreibt die Konfiguration, `Yarn 2.X` indem Sie Ihre `.yarnrc.yml` Konfiguration über die Befehlszeile mit dem `yarn config set` Befehl aktualisieren.

**Um die `yarnrc.yml-Konfiguration über die Befehlszeile` zu aktualisieren**

1. Falls Sie dies noch nicht getan haben, konfigurieren Sie Ihre AWS Anmeldeinformationen für die AWS CLI, wie unter beschrieben. [Erste Schritte mit CodeArtifact](getting-started.md)

1. Verwenden Sie den `aws codeartifact get-repository-endpoint` Befehl, um den Endpunkt Ihres CodeArtifact Repositorys abzurufen.
   + Ersetze es {{my\_domain}} durch deinen CodeArtifact Domainnamen.
   + {{111122223333}}Ersetzen Sie es durch die AWS Konto-ID des Inhabers der Domain. Wenn Sie auf ein Repository in einer Domain zugreifen, die Sie besitzen, müssen Sie nichts angeben`--domain-owner`. Weitere Informationen finden Sie unter [Cross-account Domänen](domain-overview.md#domain-overview-cross-account).
   + Ersetze es {{my\_repo}} durch deinen CodeArtifact Repository-Namen.

   ```
   aws codeartifact get-repository-endpoint --domain {{my_domain}} --domain-owner {{111122223333}} --repository {{my_repo}} --format npm
   ```

1. Aktualisieren Sie den `npmRegistryServer` Wert in Ihrer Datei .yarnrc.yml mit Ihrem Repository-Endpunkt.

   ```
   yarn config set npmRegistryServer "https://{{my_domain}}-{{111122223333}}.d.codeartifact.{{region}}.amazonaws.com/npm/{{my_repo}}/"
   ```

1. Rufen Sie ein CodeArtifact Autorisierungstoken ab und speichern Sie es in einer Umgebungsvariablen.
**Anmerkung**  
Der folgende Befehl gilt für macOS- oder Linux-Maschinen. Informationen zur Konfiguration von Umgebungsvariablen auf einem Windows-Computer finden Sie unter[Übergeben Sie ein Authentifizierungstoken mithilfe einer Umgebungsvariablen](tokens-authentication.md#env-var).
   + {{my\_domain}}Ersetzen Sie es durch Ihren CodeArtifact Domainnamen.
   + {{111122223333}}Ersetzen Sie es durch die AWS Konto-ID des Inhabers der Domain. Wenn Sie auf ein Repository in einer Domain zugreifen, die Sie besitzen, müssen Sie nichts angeben`--domain-owner`. Weitere Informationen finden Sie unter [Cross-account Domänen](domain-overview.md#domain-overview-cross-account).
   + Ersetze es {{my\_repo}} durch deinen CodeArtifact Repository-Namen.

   ```
   export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain {{my_domain}} --domain-owner {{111122223333}} --query authorizationToken --output text`
   ```

1. Verwenden Sie den `yarn config set` Befehl, um Ihr CodeArtifact Authentifizierungstoken zu Ihrer .yarnrc.yml-Datei hinzuzufügen. Ersetzen Sie die URL im folgenden Befehl durch Ihre Repository-Endpunkt-URL aus Schritt 2.

   ```
   yarn config set 'npmRegistries["https://{{my_domain}}-{{111122223333}}.d.codeartifact.{{region}}.amazonaws.com/npm/{{my_repo}}/"].npmAuthToken' "${CODEARTIFACT_AUTH_TOKEN}"
   ```

1. Verwenden Sie den `yarn config set` Befehl, um den Wert von `npmAlwaysAuth` to festzulegen`true`. Ersetzen Sie die URL im folgenden Befehl durch Ihre Repository-Endpunkt-URL aus Schritt 2.

   ```
   yarn config set 'npmRegistries["https://{{my_domain}}-{{111122223333}}.d.codeartifact.{{region}}.amazonaws.com/npm/{{my_repo}}/"].npmAlwaysAuth' "true"
   ```

Nach der Konfiguration sollte Ihre Konfigurationsdatei .yarnrc.yml einen ähnlichen Inhalt wie der folgende Ausschnitt haben.

```
npmRegistries:
  "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/":
    npmAlwaysAuth: true
    npmAuthToken: eyJ2ZXI...

npmRegistryServer: "https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/"
```

Sie können den Befehl auch verwenden, um die `yarn config` Werte von und zu überprüfen. `npmRegistries` `npmRegistryServer`