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-tag
Per impostazione predefinita, npm utilizza illatest
tag per identificare la versione corrente di un pacchetto.npm install
(senzapkg
@
oversion
@
specifier) 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. tag
Modificare i tag con il client npm
Le trenpm dist-tag
comandi (add
,rm
, els
) funziona in modo identico nei repository CodeArtifact come fanno nelnpm predefinito
npm tags e l'API CopyPackageVersions
Quando si utilizza il softwareCopyPackageVersions
API 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-helper
confezione con l'ultimo set di tag come mostrato in questa tabella.
Archivio | Package name (Nome pacchetto) | Etichette 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 la copiaweb-helper
1.0.1 da S a D. Al termine dell'operazione, illatest
tag suweb-helper
alias del repository 1.0.1, non 1.0.0.
Se è necessario modificare i tag dopo la copia, utilizza ilnpm dist-tag
comando per modificare i tag direttamente nel repository di destinazione. Per ulteriori informazioni suCopyPackageVersions
API, 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-helper
presente in entrambi i repository.
Archivio | Package name (Nome pacchetto) | Etichette del pacchetto |
---|---|---|
R |
|
più recente(alias per la versione 1.0.0) |
U |
|
alpha (alfa)(alias per la versione 1.0.1) |
In questo caso, quando il client npm recupera i tag per ilweb-helper
pacchetto 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 |
|
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 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 |
|
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 ilpiù recentetag alla 1.0.2.
Archivio | Package name (Nome pacchetto) | Etichette 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 dipiù recentein U è 1.0.1. Correrenpm install
contro 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