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.
Configurez et utilisez Yarn avecCodeArtifact
Après avoir créé un référentiel, 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), tandis queYarn 2.X
ne le fait pas. La configuration pourYarn 2.X
doit être défini dans le fichier .yarnrc.yml.
Table des matières
Configurez Yarn 1.X avecaws codeartifact login
commande
PourYarn 1.X
, vous pouvez configurer Yarn avecCodeArtifactà l'aide duaws codeartifact login
commande. Lelogin
la commande configurera votre fichier ~/.npmrc avec votreCodeArtifactinformations et informations d'identification des points de terminaison du référentiel. AvecYarn 1.X
,yarn
les commandes utilisent les informations de configuration du fichier ~/.npmrc.
Pour configurerYarn 1.X
avec la commande de connexion
Si ce n'est pas déjà fait, configurez votreAWSinformations d'identification à utiliser avecAWS CLI, comme décrit dansDémarrage avec CodeArtifact.
Pour exécuter le
aws codeartifact login
commande réussie, npm doit être installé. VoirTéléchargement et installation de Node.js et de npmdans ledocumentation npmpour les instructions d'installation. Utilisez le
aws codeartifact login
commande pour récupérerCodeArtifactinformations d'identification et configurez votre fichier ~/.npmrc.Remplacer
mon_domaine
avec votreCodeArtifactnom de domaine.Remplacer
11112222333
avec leAWSID de 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 d'inclure--domain-owner
. Pour plus d'informations, veuillez consulter Domaines multi-comptes.Remplacer
my_repo
avec votreCodeArtifactnom du référentiel.
aws codeartifact login --tool npm --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
Le
login
La commande apporte les modifications suivantes à votre fichier ~/.npmrc :-
Ajoute un jeton d'autorisation après l'avoir récupéré depuisCodeArtifacten utilisant votreAWSinformations d'identification.
-
Définit le registre npm sur le référentiel spécifié par
--repository
option. -
Pour npm 6 et moins :Ajoute
"always-auth=true"
le jeton d'autorisation est donc envoyé pour chaque commande npm.
La période d'autorisation par défaut après l'appel
login
est de 12 heures, etlogin
doit être appelé pour actualiser régulièrement le jeton. Pour plus d'informations sur le jeton d'autorisation créé aveclogin
commande, voirJetons créés avec la login commande.-
Pour npm 7.X et 8.X, vous devez ajouter
always-auth=true
dans votre fichier ~/.npmrc pour utiliser Yarn.Ouvrez votre fichier ~/.npmrc dans un éditeur de texte et ajoutez
always-auth=true
sur une nouvelle ligne.
Vous pouvez utiliser leyarn config list
commande pour vérifier que Yarn utilise la bonne configuration. Après avoir exécuté la commande, vérifiez les valeurs duinfo npm
config
section. Le contenu doit ressembler à l'extrait de code 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 avecyarn config set
commande
La procédure suivante explique comment configurerYarn 2.X
en mettant à jour votre.yarnrc.yml
configuration à partir de la ligne de commande avecyarn config set
commande.
Pour mettre à jour leyarnrc.yml
configuration depuis la ligne de commande
Si ce n'est pas déjà fait, configurez votreAWSinformations d'identification à utiliser avecAWS CLI, comme décrit dansDémarrage avec CodeArtifact.
Utilisez le
aws codeartifact get-repository-endpoint
commande pour obtenir votreCodeArtifactpoint de terminaison du référentiel.Remplacer
mon_domaine
avec votreCodeArtifactnom de domaine.Remplacer
11112222333
avec leAWSID de 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 d'inclure--domain-owner
. Pour plus d'informations, veuillez consulter Domaines multi-comptes.Remplacer
my_repo
avec votreCodeArtifactnom du référentiel.
aws codeartifact get-repository-endpoint --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--format npmMettez à jour le
npmRegistryServer
valeur dans 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
/"Récupérez unCodeArtifactjeton d'autorisation et stockez-le dans une variable d'environnement.
Note
La commande suivante concerne les machines macOS ou Linux. Pour plus d'informations sur la configuration des variables d'environnement sur un ordinateur Windows, voirTransmettre un jeton d'authentification à l'aide d'une variable d'environnement.
Remplacer
mon_domaine
avec votreCodeArtifactnom de domaine.Remplacer
11112222333
avec leAWSID de 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 d'inclure--domain-owner
. Pour plus d'informations, veuillez consulter Domaines multi-comptes.Remplacer
my_repo
avec votreCodeArtifactnom du référentiel.
export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain
my_domain
--domain-owner111122223333
--query authorizationToken --output text`-
Utilisez le
yarn config set
commande pour ajouter votreCodeArtifactjeton d'authentification pour 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}" -
Utilisez le
yarn config set
commande pour définir la valeur denpmAlwaysAuth
pourtrue
. 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 de code 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 leyarn config
commande pour vérifier les valeurs denpmRegistries
etnpmRegistryServer
.