gestione del tag npm - CodeArtifact

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à.

gestione del tag npm

supporto per i registri npmtag, 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 flusso. Per ulteriori informazioni, consultadist-tagsul sito Web npm.

Per impostazione predefinita, npm utilizza illatesttag per identificare la versione corrente di un pacchetto.npm install pkg(senza@versiono@tagspecifier) 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 versioni instabili o prerelease.

Modificare i tag con il client npm

Le trenpm dist-tagcomandi (add,rm, els) funziona in modo identico nei repository CodeArtifact come fanno nelnpm predefinito.

npm tags e l'API CopyPackageVersions

Quando si utilizza il softwareCopyPackageVersionsAPI per copiare una versione del pacchetto npm, tutti i tag alias di quella versione vengono copiati nel repository di destinazione. Quando una versione 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 contengono una singola versione delweb-helperconfezione con l'ultimo set di tag come mostrato in questa tabella.

Archivio Package name (Nome pacchetto) Etichette del pacchetto

S

web-helper

più recente(alias per la versione 1.0.1)

D

web-helper

più recente(alias per la versione 1.0.0)

CopyPackageVersionsviene richiamato per la copiaweb-helper1.0.1 da S a D. Al termine dell'operazione, illatesttag suweb-helperalias del repository 1.0.1, non 1.0.0.

Se è necessario modificare i tag dopo la copia, utilizza ilnpm dist-tagcomando per modificare i tag direttamente nel repository di destinazione. Per ulteriori informazioni suCopyPackageVersionsAPI, consultaCopia di 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 denominatoweb-helperpresente in entrambi i repository.

Archivio Package name (Nome pacchetto) Etichette del pacchetto

R

web-helper

più recente(alias per la versione 1.0.0)

U

web-helper

alpha (alfa)(alias per la versione 1.0.1)

In questo caso, quando il client npm recupera i tag per ilweb-helperpacchetto dal repository R, riceve entrambi ipiù recenteealpha (alfa)tag. Le versioni a cui puntano i tag non cambieranno.

Quando lo stesso tag è presente sullo stesso pacchetto sia nel repository upstream che a valle, CodeArtifact utilizza il tag presente nela monterepository. Ad esempio, supponiamo che i tag siano accesiwebhelpersono state modificate per avere il seguente aspetto.

Archivio Package name (Nome pacchetto) Etichette del pacchetto

R

web-helper

più recente(alias per la versione 1.0.0)

U

web-helper

più recente(alias per la versione 1.0.1)

In questo caso, quando il client npm recupera i tag per il pacchettoassistente webdal repository R, ilpiù recentetag alias la versione1.0.1perché è quello che c'è nel repository upstream. In questo modo è facile utilizzare nuove versioni di pacchetti in un repository upstream che non sono ancora presenti in un repository downstream eseguendonpm update.

L'utilizzo del tag nel repository upstream può essere problematico quando si pubblicano nuove versioni di un pacchetto in un repository a valle. Ad esempio, supponiamo che l'ultimo tag sul pacchettoassistente webè lo stesso sia in R che in U.

Archivio Package name (Nome pacchetto) Etichette del pacchetto

R

web-helper

più recente(alias per la versione 1.0.1)

U

web-helper

più recente(alias per la versione 1.0.1)

Quando la versione 1.0.2 viene pubblicata su R, npm aggiorna ilpiù recentetag alla 1.0.2.

Archivio Package name (Nome pacchetto) Etichette del pacchetto

R

web-helper

più recente(alias per la versione 1.0.2)

U

web-helper

più recente(alias per la versione 1.0.1)

Tuttavia, il client npm non vede mai questo valore di tag perché il valore dipiù recentein U è 1.0.1. Correrenpm installcontro il repository R subito dopo la pubblicazione 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 indicato di seguito.

npm install web-helper@1.0.2