As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Configurar e usar o Yarn com o CodeArtifact
Depois de criar um repositório, você pode usar o cliente Yarn para gerenciar pacotes npm.
nota
O Yarn 1.X
lê e usa informações do seu arquivo de configuração npm (.npmrc), o que não acontece com o Yarn 2.X
. A configuração do Yarn 2.X
deve ser definida no arquivo .yarnrc.yml.
Sumário
Configure o Yarn 1.X com o comando aws codeartifact login
Para o Yarn 1.X
, você pode configurar o Yarn com o CodeArtifact usando o comando aws codeartifact login
. O comando login
configurará o arquivo ~/.npmrc com as informações e credenciais do endpoint do repositório do CodeArtifact. Com o Yarn 1.X
, os comandos yarn
usam as informações de configuração do arquivo ~/.npmrc.
Para configurar o Yarn 1.X
com o comando login
Caso ainda não tenha feito isso, configure suas credenciais AWS para uso com o AWS CLI, conforme descrito em Conceitos básicos do CodeArtifact.
Para executar o comando
aws codeartifact login
, o npm deve estar instalado. Consulte Baixar e instalar o Node.js e o npmna documentação do npm para obter instruções de instalação. Use o comando
aws codeartifact login
para buscar as credenciais do CodeArtifact e configurar o arquivo ~/.npmrc.Substitua
my_domain
pelo seu nome de domínio do CodeArtifact.Substitua
111122223333
pelo ID da conta da AWS do proprietário do domínio. Se você estiver acessando um repositório em um domínio de sua propriedade, não será necessário incluir--domain-owner
. Para obter mais informações, consulte Domínios entre contas.Substitua
my_repo
pelo nome do seu repositório do CodeArtifact.
aws codeartifact login --tool npm --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
O comando
login
faz as seguintes alterações no arquivo ~/.npmrc:-
Adiciona um token de autorização depois de buscá-lo no CodeArtifact usando suas credenciais da AWS.
-
Define o registro npm para o repositório especificado pela opção
--repository
. -
Para npm 6 e inferior: adiciona
"always-auth=true"
para que o token de autorização seja enviado para cada comando npm.
O período de autorização padrão após a chamada do
login
é de 12 horas elogin
deve ser chamado para atualizar periodicamente o token. Para obter mais informações sobre o token de autorização criado com o comandologin
, consulte Tokens criados com o comando login.-
Para o npm 7.X e 8.X, você deve adicionar
always-auth=true
ao arquivo ~/.npmrc para usar o Yarn.Abra o arquivo ~/.npmrc em um editor de texto e adicione
always-auth=true
em uma nova linha.
Você pode usar o comando yarn config list
para verificar se o Yarn está usando a configuração correta. Depois de executar o comando, verifique os valores na seção info npm
config
. O conteúdo deve ser semelhante ao trecho a seguir.
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 }
Configure o Yarn 2.X com o comando yarn config set
O procedimento a seguir detalha como configurar o Yarn 2.X
atualizando a configuração do .yarnrc.yml
na linha de comando com o comando yarn config set
.
Para atualizar a configuração do yarnrc.yml
a partir da linha de comando
Caso ainda não tenha feito isso, configure suas credenciais AWS para uso com o AWS CLI, conforme descrito em Conceitos básicos do CodeArtifact.
Execute o comando
aws codeartifact get-repository-endpoint
para obter o endpoint do seu repositório do CodeArtifact.Substitua
my_domain
pelo seu nome de domínio do CodeArtifact.Substitua
111122223333
pelo ID da conta da AWS do proprietário do domínio. Se você estiver acessando um repositório em um domínio de sua propriedade, não será necessário incluir--domain-owner
. Para obter mais informações, consulte Domínios entre contas.Substitua
my_repo
pelo nome do seu repositório do CodeArtifact.
aws codeartifact get-repository-endpoint --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--format npmAtualize o valor
npmRegistryServer
no arquivo .yarnrc.yml com o endpoint do repositório.yarn config set npmRegistryServer "https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/npm/my_repo
/"Obtenha um token de autorização do CodeArtifact e armazene-o em uma variável de ambiente.
nota
O comando a seguir é para máquinas macOS ou Linux. Para ver informações sobre como configurar variáveis de ambiente em uma máquina Windows, consulte Passar um token de autenticação usando uma variável de ambiente.
Substitua
my_domain
pelo seu nome de domínio do CodeArtifact.Substitua
111122223333
pelo ID da conta da AWS do proprietário do domínio. Se você estiver acessando um repositório em um domínio de sua propriedade, não será necessário incluir--domain-owner
. Para obter mais informações, consulte Domínios entre contas.Substitua
my_repo
pelo nome do seu repositório do CodeArtifact.
export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain
my_domain
--domain-owner111122223333
--query authorizationToken --output text`-
Use o comando
yarn config set
para adicionar seu token de autenticação do CodeArtifact ao arquivo .yarnrc.yml. Substitua o URL no comando a seguir pelo URL do endpoint do repositório da Etapa 2.yarn config set 'npmRegistries["https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/npm/my_repo
/"].npmAuthToken' "${CODEARTIFACT_AUTH_TOKEN}" -
Use o comando
yarn config set
para definir o valor denpmAlwaysAuth
comotrue
. Substitua o URL no comando a seguir pelo URL do endpoint do repositório da Etapa 2.yarn config set 'npmRegistries["https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/npm/my_repo
/"].npmAlwaysAuth' "true"
Depois da configuração, o arquivo .yarnrc.yml deve ter um conteúdo semelhante ao seguinte trecho.
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/"
Você também pode usar o comando yarn config
para verificar os valores de npmRegistries
e npmRegistryServer
.