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á.
Tratamento de tags npm
Os registros npm são compatíveis com tags, que são aliases de string para versões de pacotes. Você pode usar tags para proporcionar um alias em vez de números de versão. Por exemplo, você pode ter um projeto com vários fluxos de desenvolvimento e usar uma tag diferente (por exemplo, stable
, beta
, dev
, canary
) para cada fluxo. Para ver mais informações, consulte dist-tag
Por padrão, o npm usa a tag latest
para identificar a versão atual de um pacote. npm install
(sem especificador de pkg
@
ou version
@
) instala a tag mais recente. Normalmente, os projetos usam a tag mais recente somente para versões de lançamento estáveis. Outras tags são usadas para versões instáveis ou de pré-lançamento. tag
Edite tags com o cliente npm
Os três comandos npm dist-tag
(add
, rm
e ls
) funcionam de forma idêntica nos repositórios do CodeArtifact, assim como no registro npm padrão
Tags npm e a API CopyPackageVersions
Quando você usa a API CopyPackageVersions
para copiar uma versão do pacote npm, todas as tags que dão alias a essa versão são copiadas para o repositório de destino. Quando uma versão que está sendo copiada tem uma tag que também está presente no destino, a operação de cópia define o valor da tag no repositório de destino para corresponder ao valor no repositório de origem.
Por exemplo, digamos que o repositório S e o repositório D contenham uma única versão do pacote web-helper
com o conjunto de tags mais recente, conforme mostrado nesta tabela.
Repositório | Nome do pacote | Tags do pacote |
---|---|---|
S |
|
latest (alias para a versão 1.0.1) |
D |
|
latest (alias para a versão 1.0.0) |
CopyPackageVersions
é invocada para copiar o web-helper
1.0.1 de S para D. Depois que a operação for concluída, a tag latest
no repositório web-helper
no repositório D tem o alias 1.0.1, não 1.0.0.
Se você precisar alterar as tags após a cópia, use o comando npm dist-tag
para modificar as tags diretamente no repositório de destino. Para obter mais informações sobre a API CopyPackageVersions
,consulte Copiar pacotes entre repositórios.
Tags npm e repositórios upstream
Quando o npm solicita as tags de um pacote e as versões desse pacote também estão presentes em um repositório upstream, o CodeArtifact mescla as tags antes de devolvê-las ao cliente. Por exemplo, um repositório chamado R tem um repositório upstream chamado U. A tabela a seguir mostra as tags de um pacote chamado web-helper
presente nos dois repositórios.
Repositório | Nome do pacote | Tags do pacote |
---|---|---|
R |
|
latest (alias para a versão 1.0.0) |
U |
|
alpha (alias para a versão 1.0.1) |
Nesse caso, quando o cliente npm busca as tags do pacote web-helper
no repositório R, ele recebe as tags latest e alpha. As versões para as quais as tags apontam não mudarão.
Quando a mesma tag está presente no mesmo pacote no repositório upstream e downstream, o CodeArtifact usa a tag que está presente no repositório upstream. Por exemplo, suponha que as tags no webhelper tenham sido modificadas para se parecerem com as seguintes.
Repositório | Nome do pacote | Tags do pacote |
---|---|---|
R |
|
latest (alias para a versão 1.0.0) |
U |
|
latest (alias para a versão 1.0.1) |
Nesse caso, quando o cliente npm buscar as tags para o pacote web-helper do repositório R, a tag latest terá um alias para a versão 1.0.1, pois é isso que está no repositório upstream. Isso facilita o consumo de novas versões de pacotes em um repositório upstream que ainda não estão presentes em um repositório downstream por meio da execução de npm
update
.
Usar a tag no repositório upstream pode ser problemático ao publicar novas versões de um pacote em um repositório downstream. Por exemplo, digamos que a tag latest no pacote web-helper seja a mesma em R e U.
Repositório | Nome do pacote | Tags do pacote |
---|---|---|
R |
|
latest (alias para a versão 1.0.1) |
U |
|
latest (alias para a versão 1.0.1) |
Quando a versão 1.0.2 é publicada no R, o npm atualiza a tag latest para 1.0.2.
Repositório | Nome do pacote | Tags do pacote |
---|---|---|
R |
|
latest (alias para a versão 1.0.2) |
U |
|
latest (alias para a versão 1.0.1) |
No entanto, o cliente npm nunca vê esse valor de tag porque o valor de latest em U é 1.0.1. A execução de npm install
no repositório R imediatamente após a publicação da versão 1.0.2 instala a 1.0.1 em vez da versão que acabou de ser publicada. Para instalar a versão publicada mais recentemente, é necessário especificar a versão exata do pacote, da seguinte forma.
npm install web-helper@1.0.2