Configura e usa Yarn conCodeArtifact - CodeArtifact

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 conCodeArtifact

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

Nota

Yarn 1.Xlegge e utilizza le informazioni dal tuo file di configurazione npm (.npmrc), mentreYarn 2.Xnon lo fa. La configurazione perYarn 2.Xdeve essere definito nel file .yarnrc.yml.

Configura Yarn 1.X conaws codeartifact logincomando

PerYarn 1.X, puoi configurare Yarn conCodeArtifactutilizzando ilaws codeartifact logincomando. Laloginil comando configurerà il tuo file ~/.npmrc con il tuoCodeArtifactinformazioni e credenziali degli endpoint del repository. ConYarn 1.X,yarni comandi utilizzano le informazioni di configurazione del file ~/.npmrc.

Per configurareYarn 1.Xcon il comando login
  1. Se non l'hai già fatto, configura il tuoAWScredenziali da utilizzare conAWS CLI, come descritto inNozioni di base su CodeArtifact.

  2. Per eseguire ilaws codeartifact logincomando riuscito, npm deve essere installato. VediScaricamento e installazione di Node.js e npmneldocumentazione npmper le istruzioni di installazione.

  3. Usa ilaws codeartifact logincomando da recuperareCodeArtifactcredenziali e configura il tuo file ~/.npmrc.

    • Sostituiscimio_dominiocon il tuoCodeArtifactnome di dominio.

    • Sostituisci111122223333conAWSID account del proprietario del dominio. Se accedi a un repository in un dominio di tua proprietà, non devi includere--domain-owner. Per ulteriori informazioni, consulta Domini con più account.

    • Sostituiscimy_repocon il tuoCodeArtifactnome del repository.

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

    Laloginil comando apporta le seguenti modifiche al tuo file ~/.npmrc:

    • Aggiunge un token di autorizzazione dopo averlo recuperato daCodeArtifactusando il tuoAWScredenziali.

    • Imposta il registro npm sul repository specificato da--repositoryopzione.

    • Per npm 6 e versioni precedenti:Aggiunge"always-auth=true"quindi il token di autorizzazione viene inviato per ogni comando npm.

    Il periodo di autorizzazione predefinito dopo la chiamataloginè di 12 ore elogindeve essere chiamato per aggiornare periodicamente il token. Per ulteriori informazioni sul token di autorizzazione creato conlogincomando, vediToken creati con il comando login.

  4. Per npm 7.X e 8.X, devi aggiungerealways-auth=trueal tuo file ~/.npmrc per usare Yarn.

    1. Apri il tuo file ~/.npmrc in un editor di testo e aggiungialways-auth=truesu una nuova linea.

Puoi usare ilyarn config listcomando per verificare che Yarn stia utilizzando la configurazione corretta. Dopo aver eseguito il comando, controlla i valori nelinfo npm configsezione. Il contenuto dovrebbe avere un aspetto simile al seguente frammento.

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 conyarn config setcomando

La procedura seguente descrive come configurareYarn 2.Xaggiornando il tuo.yarnrc.ymlconfigurazione dalla riga di comando conyarn config setcomando.

Per aggiornare ilyarnrc.ymlconfigurazione dalla riga di comando
  1. Se non l'hai già fatto, configura il tuoAWScredenziali da utilizzare conAWS CLI, come descritto inNozioni di base su CodeArtifact.

  2. Usa ilaws codeartifact get-repository-endpointcomando per ottenere il tuoCodeArtifactendpoint del repository.

    • Sostituiscimio_dominiocon il tuoCodeArtifactnome di dominio.

    • Sostituisci111122223333conAWSID account del proprietario del dominio. Se accedi a un repository in un dominio di tua proprietà, non devi includere--domain-owner. Per ulteriori informazioni, consulta Domini con più account.

    • Sostituiscimy_repocon il tuoCodeArtifactnome del repository.

    aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format npm
  3. Aggiorna ilnpmRegistryServervalore nel tuo file.yarnrc.yml con l'endpoint del tuo repository.

    yarn config set npmRegistryServer "https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/"
  4. Recupera unCodeArtifacttoken di 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, vederePassa un token di autenticazione utilizzando una variabile di ambiente.

    • Sostituiscimio_dominiocon il tuoCodeArtifactnome di dominio.

    • Sostituisci111122223333conAWSID account del proprietario del dominio. Se accedi a un repository in un dominio di tua proprietà, non devi includere--domain-owner. Per ulteriori informazioni, consulta Domini con più account.

    • Sostituiscimy_repocon il tuoCodeArtifactnome del repository.

    export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
  5. Usa ilyarn config setcomando per aggiungere il tuoCodeArtifacttoken di autenticazione per il tuo file .yarnrc.yml. Sostituisci l'URL nel seguente comando 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}"
  6. Usa ilyarn config setcomando per impostare il valore dinpmAlwaysAuthatrue. Sostituisci l'URL nel seguente comando 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 tuo 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 ilyarn configcomando per verificare i valori dinpmRegistriesenpmRegistryServer.