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à.
I registri npm supportano i tag, che sono alias di stringa per le versioni dei pacchetti. È possibile utilizzare i tag per fornire un alias anziché i numeri di versione. Ad esempio, potresti avere un progetto con più flussi di sviluppo e utilizzare un tag diverso (ad esempio,,, stable
beta
dev
,canary
) per ogni stream. Per ulteriori informazioni, consulta dist-tag
Per impostazione predefinita, npm utilizza il latest
tag per identificare la versione corrente di un pacchetto. npm install
(senza pkg
@
o version
@
specificatore) installa il tag più recente. In genere, i progetti utilizzano il tag più recente solo per le versioni di rilascio stabili. Altri tag vengono utilizzati per le versioni instabili o non definitive. tag
Modifica i tag con il client npm
I tre npm dist-tag
comandi (add
rm
, els
) funzionano in modo identico nei CodeArtifact repository come nel registro npm predefinito
tag npm e API CopyPackageVersions
Quando si utilizza l'CopyPackageVersions
API per copiare una versione del pacchetto npm, tutti i tag che costituiscono l'alias di quella versione vengono copiati nel repository di destinazione. Quando una versione che viene copiata ha un tag presente anche nella destinazione, l'operazione di copia imposta il valore del tag nel repository di destinazione in modo che corrisponda al valore nel repository di origine.
Ad esempio, supponiamo che sia il repository S che il repository D contengano una singola versione del web-helper
pacchetto con il set di tag più recente, come mostrato in questa tabella.
Repository | Nome pacchetto | Tag del pacchetto |
---|---|---|
S |
|
più recente (alias per la versione 1.0.1) |
D |
|
più recente (alias per la versione 1.0.0) |
CopyPackageVersions
viene richiamato per copiare web-helper
1.0.1 da S a D. Al termine dell'operazione, il latest
tag web-helper
negli alias del repository D 1.0.1, non 1.0.0.
Se è necessario modificare i tag dopo la copia, utilizzare il npm dist-tag
comando per modificare i tag direttamente nel repository di destinazione. Per ulteriori informazioni sull'CopyPackageVersions
API, consulta Copiare i pacchetti tra i repository.
tag npm e repository upstream
Quando npm richiede i tag per un pacchetto e le versioni di quel pacchetto sono presenti anche in un repository upstream, CodeArtifact unisce i tag prima di restituirli al client. Ad esempio, un repository denominato R ha un repository upstream denominato U. La tabella seguente mostra i tag per un pacchetto denominato presente in entrambi web-helper
i repository.
Repository | Nome pacchetto | Tag del pacchetto |
---|---|---|
R |
|
più recente (alias per la versione 1.0.0) |
U |
|
alpha (alias per la versione 1.0.1) |
In questo caso, quando il client npm recupera i tag per il web-helper
pacchetto dal repository R, riceve sia i tag latest che quelli alpha. Le versioni a cui puntano i tag non cambieranno.
Quando lo stesso tag è presente sullo stesso pacchetto sia nel repository upstream che downstream, CodeArtifact utilizza il tag presente nel repository upstream. Ad esempio, supponiamo che i tag su webhelper siano stati modificati in modo da assomigliare ai seguenti.
Repository | Nome pacchetto | Tag del pacchetto |
---|---|---|
R |
|
più recente (alias per la versione 1.0.0) |
U |
|
più recente (alias per la versione 1.0.1) |
In questo caso, quando il client npm recupera i tag per il pacchetto web-helper dal repository R, l'ultimo tag utilizzerà l'alias della versione 1.0.1 perché è quello che c'è nel repository upstream. Ciò semplifica l'utilizzo di nuove versioni dei pacchetti in un repository upstream che non sono ancora presenti in un repository downstream mediante l'esecuzione. npm
update
L'utilizzo del tag nel repository upstream può essere problematico quando si pubblicano nuove versioni di un pacchetto in un repository downstream. Ad esempio, supponiamo che l'ultimo tag sul pacchetto web-helper sia lo stesso sia in R che in U.
Repository | Nome pacchetto | Tag del pacchetto |
---|---|---|
R |
|
più recente (alias per la versione 1.0.1) |
U |
|
più recente (alias per la versione 1.0.1) |
Quando la versione 1.0.2 viene pubblicata su R, npm aggiorna l'ultimo tag alla 1.0.2.
Repository | Nome pacchetto | Tag del pacchetto |
---|---|---|
R |
|
più recente (alias per la versione 1.0.2) |
U |
|
più recente (alias per la versione 1.0.1) |
Tuttavia, il client npm non vede mai questo valore di tag perché il valore di latest in U è 1.0.1. L'npm install
esecuzione sul repository R subito dopo la pubblicazione della 1.0.2 installa 1.0.1 anziché la versione appena pubblicata. Per installare la versione pubblicata più di recente, è necessario specificare la versione esatta del pacchetto, come segue.
npm install web-helper@1.0.2