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á.
Configure e use o Yarn com 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
ParaYarn 1.X, você pode configurar o Yarn CodeArtifact usando o aws codeartifact login comando. O login comando configurará seu arquivo ~/.npmrc com as informações e credenciais do endpoint do CodeArtifact repositório. 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
Se você ainda não tiver feito isso, configure suas AWS credenciais para uso com o AWS CLI, conforme descrito emComeçando com CodeArtifact.
Para executar o comando
aws codeartifact login, o npm deve estar instalado. Consulte Como baixar Node.js e instalar o npmna documentação do npm para obter instruções de instalação. Use o
aws codeartifact logincomando para buscar CodeArtifact credenciais e configurar seu arquivo ~/.npmrc.my_domainSubstitua pelo seu nome de CodeArtifact domínio.111122223333Substitua pelo ID da AWS conta 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 Cross-account domínios.my_repoSubstitua pelo nome CodeArtifact do seu repositório.
aws codeartifact login --tool npm --domainmy_domain--domain-owner111122223333--repositorymy_repoO comando
loginfaz as seguintes alterações no arquivo ~/.npmrc:-
Adiciona um token de autorização depois de buscá-lo CodeArtifact usando suas AWS credenciais.
-
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 elogindeve 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 npm 7 e superior, você deve adicionar
always-auth=trueao seu arquivo ~/.npmrc para usar o Yarn.nota
Sem isso
always-auth=true, o Yarn 1.X envia apenas credenciais de autenticação para solicitações de pacotes com escopo definido (por exemplo,).@scope/packageSolicitações de pacotes sem escopo (por exemplo,lodash) falharão com um erro 401 Não autenticado porque o Yarn não inclui o cabeçalho de autorização.Abra o arquivo ~/.npmrc em um editor de texto e adicione
always-auth=trueem 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 yarnrc.yml a partir da linha de comando
Se você ainda não tiver feito isso, configure suas AWS credenciais para uso com o AWS CLI, conforme descrito emComeçando com CodeArtifact.
Use o
aws codeartifact get-repository-endpointcomando para obter o endpoint do seu CodeArtifact repositório.my_domainSubstitua pelo seu nome de CodeArtifact domínio.111122223333Substitua pelo ID da AWS conta 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 Cross-account domínios.my_repoSubstitua pelo nome CodeArtifact do seu repositório.
aws codeartifact get-repository-endpoint --domainmy_domain--domain-owner111122223333--repositorymy_repo--format npmAtualize o valor
npmRegistryServerno 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 CodeArtifact autorização 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.
my_domainSubstitua pelo seu nome de CodeArtifact domínio.111122223333Substitua pelo ID da AWS conta 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 Cross-account domínios.my_repoSubstitua pelo nome CodeArtifact do seu repositório.
export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domainmy_domain--domain-owner111122223333--query authorizationToken --output text`-
Use o
yarn config setcomando para adicionar seu token de CodeArtifact autenticação ao seu 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 setpara definir o valor denpmAlwaysAuthcomotrue. 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.