

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Configura e usa Yarn con CodeArtifact
<a name="npm-yarn"></a>

Dopo aver creato un repository, puoi usare il client Yarn per gestire i pacchetti npm.

**Nota**  
`Yarn 1.X`legge e utilizza le informazioni dal file di configurazione npm (.npmrc), mentre non lo fa. `Yarn 2.X` La configurazione per `Yarn 2.X` deve essere definita nel file .yarnrc.yml.

**Contents**
+ [Configura Yarn 1.X con il comando `aws codeartifact login`](#npm-yarn-configure-login)
+ [Configura Yarn 2.X con il comando `yarn config set`](#npm-yarn-configure-yarn-command)

## Configura Yarn 1.X con il comando `aws codeartifact login`
<a name="npm-yarn-configure-login"></a>

Infatti`Yarn 1.X`, puoi configurare Yarn CodeArtifact usando il comando. `aws codeartifact login` Il `login` comando configurerà il file \~/.npmrc con le informazioni e le credenziali dell'endpoint del repository. CodeArtifact Con`Yarn 1.X`, i `yarn` comandi utilizzano le informazioni di configurazione dal file \~/.npmrc.

**Per configurare con il comando login `Yarn 1.X`**

1. Se non l'hai già fatto, configura AWS le tue credenziali da utilizzare con AWS CLI, come descritto in[Guida introduttiva con CodeArtifact](getting-started.md).

1. Per eseguire correttamente il `aws codeartifact login` comando, è necessario installare npm. Vedi [Download e installazione di Node.js e npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm/) nella *documentazione di npm* per le istruzioni di installazione.

1. Usa il `aws codeartifact login` comando per recuperare le CodeArtifact credenziali e configurare il tuo file \~/.npmrc.
   + {{my\_domain}} CodeArtifact Sostituiscilo con il tuo nome di dominio.
   + Sostituiscilo {{111122223333}} con l'ID dell' AWS account del proprietario del dominio. Se accedi a un repository in un dominio di tua proprietà, non è necessario `--domain-owner` includerlo. Per ulteriori informazioni, consulta [Domini con più account](domain-overview.md#domain-overview-cross-account).
   + {{my\_repo}}Sostituiscilo con il nome del tuo CodeArtifact repository.

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

   Il `login` comando apporta le seguenti modifiche al file \~/.npmrc:
   + Aggiunge un token di autorizzazione dopo averlo recuperato utilizzando le tue credenziali. CodeArtifact AWS 
   + Imposta il registro npm sul repository specificato dall'opzione. `--repository`
   + **Per npm 6 e versioni precedenti:** aggiunge `"always-auth=true"` in modo che il token di autorizzazione venga inviato per ogni comando npm.

   Il periodo di autorizzazione predefinito dopo la chiamata `login` è di 12 ore e `login` deve essere chiamato per aggiornare periodicamente il token. Per ulteriori informazioni sul token di autorizzazione creato con il `login` comando, vedere[Token creati con il comando `login`](tokens-authentication.md#auth-token-login).

1. **Per npm 7.X e 8.X**, devi aggiungerlo `always-auth=true` al tuo file \~/.npmrc per usare Yarn.

   1. Apri il tuo file \~/.npmrc in un editor di testo e aggiungilo in una nuova riga. `always-auth=true`

Puoi usare il `yarn config list` comando per verificare che Yarn stia usando la configurazione corretta. Dopo aver eseguito il comando, controlla i valori nella `info npm config` sezione. Il contenuto dovrebbe essere simile al frammento seguente.

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

## Configura Yarn 2.X con il comando `yarn config set`
<a name="npm-yarn-configure-yarn-command"></a>

La procedura seguente descrive in dettaglio come configurare `Yarn 2.X` aggiornando la `.yarnrc.yml` configurazione dalla riga di comando con il `yarn config set` comando.

**Per aggiornare la `yarnrc.yml` configurazione dalla riga di comando**

1. Se non l'hai già fatto, configura AWS le tue credenziali da utilizzare con AWS CLI, come descritto in[Guida introduttiva con CodeArtifact](getting-started.md).

1. Usa il `aws codeartifact get-repository-endpoint` comando per ottenere l'endpoint del tuo CodeArtifact repository.
   + Sostituiscilo {{my\_domain}} con il tuo CodeArtifact nome di dominio.
   + Sostituiscilo {{111122223333}} con l'ID dell' AWS account del proprietario del dominio. Se accedi a un repository in un dominio di tua proprietà, non è necessario `--domain-owner` includerlo. Per ulteriori informazioni, consulta [Domini con più account](domain-overview.md#domain-overview-cross-account).
   + {{my\_repo}}Sostituiscilo con il nome del tuo CodeArtifact repository.

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

1. Aggiorna il `npmRegistryServer` valore nel file .yarnrc.yml con l'endpoint del repository.

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

1. Recupera un token di CodeArtifact autorizzazione e memorizzalo in una variabile di ambiente.
**Nota**  
Il comando seguente è per macchine macOS o Linux. Per informazioni sulla configurazione delle variabili di ambiente su un computer Windows, vedere. [Passa un token di autenticazione utilizzando una variabile di ambiente](tokens-authentication.md#env-var)
   + {{my\_domain}}Sostituiscilo con il tuo nome di CodeArtifact dominio.
   + Sostituiscilo {{111122223333}} con l'ID dell' AWS account del proprietario del dominio. Se accedi a un repository in un dominio di tua proprietà, non è necessario `--domain-owner` includerlo. Per ulteriori informazioni, consulta [Domini con più account](domain-overview.md#domain-overview-cross-account).
   + {{my\_repo}}Sostituiscilo con il nome del tuo CodeArtifact repository.

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

1. Usa il `yarn config set` comando per aggiungere il token di CodeArtifact autenticazione al tuo file .yarnrc.yml. Sostituisci l'URL nel comando seguente con l'URL dell'endpoint del repository del passaggio 2.

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

1. Utilizzate il `yarn config set` comando per impostare il valore di `npmAlwaysAuth` a. `true` Sostituisci l'URL nel comando seguente con l'URL dell'endpoint del repository del passaggio 2.

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

Dopo la configurazione, il file di configurazione .yarnrc.yml dovrebbe avere contenuti simili al seguente frammento.

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

Puoi anche usare il comando per controllare i valori di and. `yarn config` `npmRegistries` `npmRegistryServer`