

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configurer et utiliser Yarn avec CodeArtifact
<a name="npm-yarn"></a>

Après avoir créé un dépôt, vous pouvez utiliser le client Yarn pour gérer les packages npm.

**Note**  
`Yarn 1.X`lit et utilise les informations de votre fichier de configuration npm (.npmrc), alors que ce n'est pas le cas. `Yarn 2.X` La configuration pour `Yarn 2.X` doit être définie dans le fichier .yarnrc.yml.

**Contents**
+ [Configurez Yarn 1.X avec la commande `aws codeartifact login`](#npm-yarn-configure-login)
+ [Configurez Yarn 2.X avec la commande `yarn config set`](#npm-yarn-configure-yarn-command)

## Configurez Yarn 1.X avec la commande `aws codeartifact login`
<a name="npm-yarn-configure-login"></a>

Car`Yarn 1.X`, vous pouvez configurer Yarn à CodeArtifact l'aide de la `aws codeartifact login` commande. La `login` commande configurera votre fichier \~/.npmrc avec les informations et les informations d'identification du point de terminaison de votre CodeArtifact référentiel. Avec`Yarn 1.X`, `yarn` les commandes utilisent les informations de configuration du fichier \~/.npmrc.

**Pour configurer à l'`Yarn 1.X`aide de la commande de connexion**

1. Si vous ne l'avez pas déjà fait, configurez vos AWS informations d'identification pour les utiliser avec AWS CLI, comme décrit dans[Commencer avec CodeArtifact](getting-started.md).

1. Pour exécuter correctement la `aws codeartifact login` commande, npm doit être installé. Voir [Téléchargement et installation de Node.js et de npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm/) dans la *documentation de npm pour les instructions* d'installation.

1. Utilisez la `aws codeartifact login` commande pour récupérer les informations d' CodeArtifact identification et configurer votre fichier \~/.npmrc.
   + {{my\_domain}}Remplacez-le par votre nom de CodeArtifact domaine.
   + Remplacez {{111122223333}} par le numéro de AWS compte du propriétaire du domaine. Si vous accédez à un référentiel dans un domaine qui vous appartient, vous n'avez pas besoin de l'inclure`--domain-owner`. Pour de plus amples informations, veuillez consulter [Domaines multi-comptes](domain-overview.md#domain-overview-cross-account).
   + {{my\_repo}}Remplacez-le par le nom de votre CodeArtifact dépôt.

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

   La `login` commande apporte les modifications suivantes à votre fichier \~/.npmrc :
   + Ajoute un jeton d'autorisation après l'avoir récupéré à l' CodeArtifact aide de vos AWS informations d'identification.
   + Définit le registre npm sur le référentiel spécifié par l'`--repository`option.
   + **Pour npm 6 et versions antérieures : ajoute le** jeton d'autorisation `"always-auth=true"` afin que le jeton d'autorisation soit envoyé pour chaque commande npm.

   La période d'autorisation par défaut après `login` un appel est de 12 heures et `login` doit être appelée pour actualiser régulièrement le jeton. Pour plus d'informations sur le jeton d'autorisation créé avec la `login` commande, consultez[Jetons créés avec la `login` commande](tokens-authentication.md#auth-token-login).

1. **Pour npm 7.X et 8.X**, vous devez les ajouter `always-auth=true` à votre fichier \~/.npmrc pour utiliser Yarn.

   1. Ouvrez votre fichier \~/.npmrc dans un éditeur de texte et ajoutez-y `always-auth=true` une nouvelle ligne.

Vous pouvez utiliser la `yarn config list` commande pour vérifier que Yarn utilise la bonne configuration. Après avoir exécuté la commande, vérifiez les valeurs indiquées dans la `info npm config` section. Le contenu doit ressembler à l'extrait suivant.

```
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
}
```

## Configurez Yarn 2.X avec la commande `yarn config set`
<a name="npm-yarn-configure-yarn-command"></a>

La procédure suivante explique comment configurer `Yarn 2.X` en mettant à jour votre `.yarnrc.yml` configuration à partir de la ligne de commande avec la `yarn config set` commande.

**Pour mettre à jour la `yarnrc.yml` configuration depuis la ligne de commande**

1. Si vous ne l'avez pas déjà fait, configurez vos AWS informations d'identification pour les utiliser avec AWS CLI, comme décrit dans[Commencer avec CodeArtifact](getting-started.md).

1. Utilisez la `aws codeartifact get-repository-endpoint` commande pour obtenir le point de terminaison de votre CodeArtifact dépôt.
   + {{my\_domain}}Remplacez-le par votre nom de CodeArtifact domaine.
   + Remplacez {{111122223333}} par le numéro de AWS compte du propriétaire du domaine. Si vous accédez à un référentiel dans un domaine qui vous appartient, vous n'avez pas besoin de l'inclure`--domain-owner`. Pour de plus amples informations, veuillez consulter [Domaines multi-comptes](domain-overview.md#domain-overview-cross-account).
   + {{my\_repo}}Remplacez-le par le nom de votre CodeArtifact dépôt.

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

1. Mettez à jour la `npmRegistryServer` valeur de votre fichier .yarnrc.yml avec le point de terminaison de votre référentiel.

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

1. Récupérez un jeton CodeArtifact d'autorisation et stockez-le dans une variable d'environnement.
**Note**  
La commande suivante est destinée aux machines macOS ou Linux. Pour plus d'informations sur la configuration des variables d'environnement sur un ordinateur Windows, consultez[Transmettre un jeton d'authentification à l'aide d'une variable d'environnement](tokens-authentication.md#env-var).
   + {{my\_domain}}Remplacez-le par votre nom de CodeArtifact domaine.
   + Remplacez {{111122223333}} par le numéro de AWS compte du propriétaire du domaine. Si vous accédez à un référentiel dans un domaine qui vous appartient, vous n'avez pas besoin de l'inclure`--domain-owner`. Pour de plus amples informations, veuillez consulter [Domaines multi-comptes](domain-overview.md#domain-overview-cross-account).
   + {{my\_repo}}Remplacez-le par le nom de votre CodeArtifact dépôt.

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

1. Utilisez la `yarn config set` commande pour ajouter votre jeton CodeArtifact d'authentification à votre fichier .yarnrc.yml. Remplacez l'URL de la commande suivante par l'URL du point de terminaison de votre référentiel à l'étape 2.

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

1. Utilisez la `yarn config set` commande pour définir la valeur de `npmAlwaysAuth` à`true`. Remplacez l'URL de la commande suivante par l'URL du point de terminaison de votre référentiel à l'étape 2.

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

Après la configuration, votre fichier de configuration .yarnrc.yml doit avoir un contenu similaire à celui de l'extrait suivant.

```
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/"
```

Vous pouvez également utiliser la `yarn config` commande pour vérifier les valeurs de `npmRegistries` et`npmRegistryServer`.