

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

# Usare CodeArtifact con npm
<a name="using-npm"></a>

Questi argomenti descrivono come usare npm, il gestore di pacchetti Node.js, con. CodeArtifact

**Nota**  
CodeArtifact supporta `node v4.9.1` e versioni successive `npm v5.0.0` e successive.

**Topics**
+ [Configura e usa npm](npm-auth.md)
+ [Configura e usa Yarn](npm-yarn.md)
+ [supporto per i comandi npm](npm-commands.md)
+ [gestione dei tag npm](npm-tags.md)
+ [Support per gestori di pacchetti compatibili con npm](npm-other-clients.md)

# Configura e usa npm con CodeArtifact
<a name="npm-auth"></a>

Dopo aver creato un repository in CodeArtifact, puoi usare il client npm per installare e pubblicare pacchetti. Il metodo consigliato per configurare npm con l'endpoint del repository e il token di autorizzazione consiste nell'utilizzare il comando. `aws codeartifact login` Puoi anche configurare npm manualmente.

**Contents**
+ [Configurazione di npm con il comando login](#configure-npm-login-command)
+ [Configurazione di npm senza utilizzare il comando login](#configuring-npm-without-using-the-login-command)
+ [Esecuzione dei comandi npm](#running-npm-commands)
+ [Verifica dell'autenticazione e dell'autorizzazione di npm](#verifying-npm-authentication-and-authorization)
+ [Tornare al registro npm predefinito](#revert-default-npm-registry)
+ [Risoluzione dei problemi di installazioni lente con npm 8.x o versioni successive](#troubleshooting-slow-npm-install)

## Configurazione di npm con il comando login
<a name="configure-npm-login-command"></a>

Usa il `aws codeartifact login` comando per recuperare le credenziali da utilizzare con npm.

**Nota**  
Se accedi a un repository in un dominio di tua proprietà, non è necessario includerlo. `--domain-owner` Per ulteriori informazioni, consulta [Domini con più account](domain-overview.md#domain-overview-cross-account).

**Importante**  
Se si utilizza npm 10.x o una versione successiva, è necessario utilizzare la AWS CLI versione 2.9.5 o successiva per eseguire correttamente il comando. `aws codeartifact login`

```
aws codeartifact login --tool npm --domain my_domain --domain-owner 111122223333 --repository my_repo
```

Questo comando apporta le seguenti modifiche al file \$1/.npmrc:
+ Aggiunge un token di autorizzazione dopo averlo recuperato utilizzando le tue credenziali. CodeArtifact AWS 
+ Imposta il registro npm sul repository specificato dall'opzione. `--repository`
+ **Per npm 6 e versioni precedenti:** aggiunge `"always-auth=true"` in modo che il token di autorizzazione venga inviato per ogni comando npm.

Il periodo di autorizzazione predefinito dopo la chiamata `login` è di 12 ore e `login` deve essere chiamato per aggiornare periodicamente il token. Per ulteriori informazioni sul token di autorizzazione creato con il `login` comando, vedere[Token creati con il comando `login`](tokens-authentication.md#auth-token-login).

## Configurazione di npm senza utilizzare il comando login
<a name="configuring-npm-without-using-the-login-command"></a>

Puoi configurare npm con il tuo CodeArtifact repository senza il `aws codeartifact login` comando aggiornando manualmente la configurazione di npm.

**Per configurare npm senza usare il comando login**

1. In una riga di comando, recupera un token di CodeArtifact autorizzazione e memorizzalo in una variabile di ambiente. npm utilizzerà questo token per autenticarsi con il tuo repository. CodeArtifact 
**Nota**  
Il comando seguente è per macchine macOS o Linux. Per informazioni sulla configurazione delle variabili di ambiente su un computer Windows, vedere. [Passa un token di autenticazione utilizzando una variabile di ambiente](tokens-authentication.md#env-var)

   ```
   CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
   ```

1. Ottieni l'endpoint del tuo CodeArtifact repository eseguendo il comando seguente. L'endpoint del tuo repository viene utilizzato per indirizzare npm al tuo repository per installare o pubblicare pacchetti.
   + Sostituiscilo *my\$1domain* con il tuo nome di dominio. CodeArtifact 
   + Sostituiscilo *111122223333* con l'ID dell' AWS account del proprietario del dominio. Se accedi a un repository in un dominio di tua proprietà, non è necessario `--domain-owner` includerlo. Per ulteriori informazioni, consulta [Domini con più account](domain-overview.md#domain-overview-cross-account).
   + *my\$1repo*Sostituiscilo con il nome del tuo CodeArtifact repository.

   ```
   aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format npm
   ```

   L'URL seguente è un esempio di endpoint del repository.

   ```
   https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/
   ```
**Importante**  
L'URL del registro deve terminare con una barra (/). In caso contrario, non è possibile connettersi al repository.

1. Usa il `npm config set` comando per impostare il registro nel tuo CodeArtifact repository. Sostituisci l'URL con l'URL dell'endpoint del repository del passaggio precedente.

   ```
   npm config set registry=https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/
   ```
**Nota**  
Per utilizzare un endpoint dualstack, usa l'endpoint. `codeartifact.region.on.aws`

1. Usa il `npm config set` comando per aggiungere il tuo token di autorizzazione alla tua configurazione npm.

   ```
   npm config set //my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/:_authToken=$CODEARTIFACT_AUTH_TOKEN
   ```

   **Per npm 6 o versioni precedenti:** per fare in modo che npm passi sempre il token di autenticazione a CodeArtifact, anche per `GET` le richieste, imposta la `always-auth` variabile di configurazione con. `npm config set` 

   ```
   npm config set //my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/:always-auth=true
   ```

**Esempio di file di configurazione npm () `.npmrc`**

 Di seguito è riportato un `.npmrc` file di esempio dopo aver seguito le istruzioni precedenti per impostare l'endpoint del CodeArtifact registro, aggiungere un token di autenticazione e configurare. `always-auth` 

```
registry=https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my-cli-repo/
//my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/:_authToken=eyJ2ZX...
//my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/:always-auth=true
```

## Esecuzione dei comandi npm
<a name="running-npm-commands"></a>

Dopo aver configurato il client npm, puoi eseguire i comandi npm. Supponendo che un pacchetto sia presente nel tuo repository o in uno dei suoi repository upstream, puoi installarlo con. `npm install` Ad esempio, utilizzate quanto segue per installare il pacchetto. `lodash`

```
npm install lodash
```

Usa il comando seguente per pubblicare un nuovo pacchetto npm in un CodeArtifact repository.

```
npm publish
```

Per informazioni su come creare pacchetti npm, vedere [Creazione di moduli Node.js](https://docs.npmjs.com/getting-started/creating-node-modules) sul sito Web della documentazione di npm. Per un elenco dei comandi npm supportati da CodeArtifact, vedere [npm Command Support](npm-commands.md). 

## Verifica dell'autenticazione e dell'autorizzazione di npm
<a name="verifying-npm-authentication-and-authorization"></a>

L'invocazione del `npm ping` comando è un modo per verificare quanto segue:
+ Hai configurato correttamente le tue credenziali in modo da poterti autenticare in un repository. CodeArtifact 
+ La configurazione dell'autorizzazione ti concede l'autorizzazione. `ReadFromRepository`

L'output di una chiamata riuscita di è `npm ping` simile al seguente.

```
$ npm -d ping
npm info it worked if it ends with ok
npm info using npm@6.4.1
npm info using node@v9.5.0
npm info attempt registry request try #1 at 4:30:59 PM
npm http request GET https://<domain>.d.codeartifact.us-west-2.amazonaws.com/npm/shared/-/ping?write=true
npm http 200 https:///npm/shared/-/ping?write=true
Ping success: {}
npm timing npm Completed in 716ms
npm info ok
```

L'`-d`opzione fa sì che npm stampi informazioni di debug aggiuntive, incluso l'URL del repository. Queste informazioni semplificano la conferma che npm sia configurato per utilizzare il repository previsto.

## Tornare al registro npm predefinito
<a name="revert-default-npm-registry"></a>

La configurazione di npm con CodeArtifact imposta il registro npm sul repository specificato. CodeArtifact Puoi eseguire il seguente comando per riportare il registro npm al registro predefinito al termine della connessione a. CodeArtifact

```
npm config set registry https://registry.npmjs.com/
```

## Risoluzione dei problemi di installazioni lente con npm 8.x o versioni successive
<a name="troubleshooting-slow-npm-install"></a>

Esiste un problema noto nelle versioni 8.x e successive di npm in cui se viene effettuata una richiesta a un repository di pacchetti e il repository reindirizza il client ad Amazon S3 anziché trasmettere direttamente le risorse, il client npm può bloccarsi per diversi minuti per dipendenza. 

Poiché i CodeArtifact repository sono progettati per reindirizzare sempre la richiesta ad Amazon S3, a volte si verifica questo problema, che causa lunghi tempi di compilazione a causa dei lunghi tempi di installazione di npm. Le istanze di questo comportamento si presenteranno come una barra di avanzamento che viene visualizzata per diversi minuti.

Per evitare questo problema, utilizzate i `progress=false` flag `--no-progress` o con i comandi `npm` cli, come illustrato nell'esempio seguente.

```
npm install lodash --no-progress
```

# Configura e usa Yarn con CodeArtifact
<a name="npm-yarn"></a>

Dopo aver creato un repository, puoi usare il client Yarn per gestire i pacchetti npm.

**Nota**  
`Yarn 1.X`legge e utilizza le informazioni dal file di configurazione npm (.npmrc), mentre non lo fa. `Yarn 2.X` La configurazione per `Yarn 2.X` deve essere definita nel file .yarnrc.yml.

**Contents**
+ [Configura Yarn 1.X con il comando `aws codeartifact login`](#npm-yarn-configure-login)
+ [Configura Yarn 2.X con il comando `yarn config set`](#npm-yarn-configure-yarn-command)

## Configura Yarn 1.X con il comando `aws codeartifact login`
<a name="npm-yarn-configure-login"></a>

Infatti`Yarn 1.X`, puoi configurare Yarn CodeArtifact usando il comando. `aws codeartifact login` Il `login` comando configurerà il file \$1/.npmrc con le informazioni e le credenziali dell'endpoint del repository. CodeArtifact Con`Yarn 1.X`, i `yarn` comandi utilizzano le informazioni di configurazione dal file \$1/.npmrc.

**Per configurare con il comando login `Yarn 1.X`**

1. Se non l'hai già fatto, configura AWS le tue credenziali da utilizzare con AWS CLI, come descritto in[Guida introduttiva con CodeArtifact](getting-started.md).

1. Per eseguire correttamente il `aws codeartifact login` comando, è necessario installare npm. Vedi [Download e installazione di Node.js e npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm/) nella *documentazione di npm* per le istruzioni di installazione.

1. Usa il `aws codeartifact login` comando per recuperare le CodeArtifact credenziali e configurare il tuo file \$1/.npmrc.
   + *my\$1domain* CodeArtifact Sostituiscilo con il tuo nome di dominio.
   + Sostituiscilo *111122223333* con l'ID dell' AWS account del proprietario del dominio. Se accedi a un repository in un dominio di tua proprietà, non è necessario `--domain-owner` includerlo. Per ulteriori informazioni, consulta [Domini con più account](domain-overview.md#domain-overview-cross-account).
   + *my\$1repo*Sostituiscilo con il nome del tuo CodeArtifact repository.

   ```
   aws codeartifact login --tool npm --domain my_domain --domain-owner 111122223333 --repository my_repo
   ```

   Il `login` comando apporta le seguenti modifiche al file \$1/.npmrc:
   + Aggiunge un token di autorizzazione dopo averlo recuperato utilizzando le tue credenziali. CodeArtifact AWS 
   + Imposta il registro npm sul repository specificato dall'opzione. `--repository`
   + **Per npm 6 e versioni precedenti:** aggiunge `"always-auth=true"` in modo che il token di autorizzazione venga inviato per ogni comando npm.

   Il periodo di autorizzazione predefinito dopo la chiamata `login` è di 12 ore e `login` deve essere chiamato per aggiornare periodicamente il token. Per ulteriori informazioni sul token di autorizzazione creato con il `login` comando, vedere[Token creati con il comando `login`](tokens-authentication.md#auth-token-login).

1. **Per npm 7.X e 8.X**, devi aggiungerlo `always-auth=true` al tuo file \$1/.npmrc per usare Yarn.

   1. Apri il tuo file \$1/.npmrc in un editor di testo e aggiungilo in una nuova riga. `always-auth=true`

Puoi usare il `yarn config list` comando per verificare che Yarn stia usando la configurazione corretta. Dopo aver eseguito il comando, controlla i valori nella `info npm config` sezione. Il contenuto dovrebbe essere simile al frammento seguente.

```
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
}
```

## Configura Yarn 2.X con il comando `yarn config set`
<a name="npm-yarn-configure-yarn-command"></a>

La procedura seguente descrive in dettaglio come configurare `Yarn 2.X` aggiornando la `.yarnrc.yml` configurazione dalla riga di comando con il `yarn config set` comando.

**Per aggiornare la `yarnrc.yml` configurazione dalla riga di comando**

1. Se non l'hai già fatto, configura AWS le tue credenziali da utilizzare con AWS CLI, come descritto in[Guida introduttiva con CodeArtifact](getting-started.md).

1. Usa il `aws codeartifact get-repository-endpoint` comando per ottenere l'endpoint del tuo CodeArtifact repository.
   + Sostituiscilo *my\$1domain* con il tuo CodeArtifact nome di dominio.
   + Sostituiscilo *111122223333* con l'ID dell' AWS account del proprietario del dominio. Se accedi a un repository in un dominio di tua proprietà, non è necessario `--domain-owner` includerlo. Per ulteriori informazioni, consulta [Domini con più account](domain-overview.md#domain-overview-cross-account).
   + *my\$1repo*Sostituiscilo con il nome del tuo CodeArtifact repository.

   ```
   aws codeartifact get-repository-endpoint --domain my_domain --domain-owner 111122223333 --repository my_repo --format npm
   ```

1. Aggiorna il `npmRegistryServer` valore nel file .yarnrc.yml con l'endpoint del repository.

   ```
   yarn config set npmRegistryServer "https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/"
   ```

1. Recupera un token di CodeArtifact autorizzazione e memorizzalo in una variabile di ambiente.
**Nota**  
Il comando seguente è per macchine macOS o Linux. Per informazioni sulla configurazione delle variabili di ambiente su un computer Windows, vedere. [Passa un token di autenticazione utilizzando una variabile di ambiente](tokens-authentication.md#env-var)
   + *my\$1domain*Sostituiscilo con il tuo nome di CodeArtifact dominio.
   + Sostituiscilo *111122223333* con l'ID dell' AWS account del proprietario del dominio. Se accedi a un repository in un dominio di tua proprietà, non è necessario `--domain-owner` includerlo. Per ulteriori informazioni, consulta [Domini con più account](domain-overview.md#domain-overview-cross-account).
   + *my\$1repo*Sostituiscilo con il nome del tuo CodeArtifact repository.

   ```
   export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
   ```

1. Usa il `yarn config set` comando per aggiungere il token di CodeArtifact autenticazione al tuo file .yarnrc.yml. Sostituisci l'URL nel comando seguente con l'URL dell'endpoint del repository del passaggio 2.

   ```
   yarn config set 'npmRegistries["https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/"].npmAuthToken' "${CODEARTIFACT_AUTH_TOKEN}"
   ```

1. Utilizzate il `yarn config set` comando per impostare il valore di `npmAlwaysAuth` a. `true` Sostituisci l'URL nel comando seguente con l'URL dell'endpoint del repository del passaggio 2.

   ```
   yarn config set 'npmRegistries["https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/npm/my_repo/"].npmAlwaysAuth' "true"
   ```

Dopo la configurazione, il file di configurazione .yarnrc.yml dovrebbe avere contenuti simili al seguente frammento.

```
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/"
```

Puoi anche usare il comando per controllare i valori di and. `yarn config` `npmRegistries` `npmRegistryServer`

# supporto per i comandi npm
<a name="npm-commands"></a>

Le sezioni seguenti riepilogano i comandi npm supportati, dai CodeArtifact repository, oltre ai comandi specifici che non sono supportati.

**Contents**
+ [Comandi supportati che interagiscono con un repository](#supported-commands-that-interact-with-a-repository)
+ [Comandi lato client supportati](#supported-client-side-commands)
+ [Comandi non supportati](#unsupported-commands)

## Comandi supportati che interagiscono con un repository
<a name="supported-commands-that-interact-with-a-repository"></a>

Questa sezione elenca i comandi npm in cui il client npm effettua una o più richieste al registro con cui è stato configurato (ad esempio, con). `npm config set registry` È stato verificato che questi comandi funzionino correttamente quando vengono richiamati su un repository. CodeArtifact 


****  

| Comando | Description | 
| --- | --- | 
|   [bug](https://docs.npmjs.com/cli/bugs)   |  Cerca di indovinare la posizione dell'URL del bug tracker di un pacchetto, quindi prova ad aprirlo.  | 
|   [ci](https://docs.npmjs.com/cli/ci)   |  Installa un progetto con una tabula rasa.  | 
|   [deprecare](https://docs.npmjs.com/cli/deprecate)   |  Depreca una versione di un pacchetto.  | 
|   [dist-tag](https://docs.npmjs.com/cli/dist-tag)   |  Modifica i tag di distribuzione dei pacchetti.  | 
|   [documenti](https://docs.npmjs.com/cli/docs)   |  Cerca di indovinare la posizione dell'URL della documentazione di un pacchetto, quindi prova ad aprirlo utilizzando il parametro `--browser` config.  | 
|   [dottore](https://docs.npmjs.com/cli/doctor)   |  Esegue una serie di controlli per garantire che l'installazione di npm abbia ciò di cui ha bisogno per gestire i JavaScript pacchetti.  | 
|   [installa](https://docs.npmjs.com/cli/install)   |  Installa un pacchetto.  | 
|   [install-ci-test](https://docs.npmjs.com/cli/install-ci-test)   |  Installa un progetto con una lavagna pulita ed esegue dei test. Pseudonimo:. `npm cit` Questo comando viene eseguito e `npm ci` seguito immediatamente da un`npm test`.  | 
|   [install-test](https://docs.npmjs.com/cli/install-test)   |  Installa il pacchetto ed esegue i test. Viene eseguito e `npm install` seguito immediatamente da un`npm test`.  | 
|   [obsoleto](https://docs.npmjs.com/cli/outdated)   |  Controlla il registro configurato per vedere se alcuni pacchetti installati sono attualmente obsoleti.  | 
|   [ping](https://docs.npmjs.com/cli/ping)   |  Esegue il ping del registro npm configurato o specificato e verifica l'autenticazione.  | 
|   [pubblica](https://docs.npmjs.com/cli/publish)   |  Pubblica una versione del pacchetto nel registro.  | 
|   [update](https://docs.npmjs.com/cli/update)   |  Indovina la posizione dell'URL del repository di un pacchetto, quindi tenta di aprirlo utilizzando il parametro config. `--browser`  | 
|   [visualizzare](https://docs.npmjs.com/cli/view)   |  Visualizza i metadati del pacchetto. Può essere usato per stampare le proprietà dei metadati.  | 

## Comandi lato client supportati
<a name="supported-client-side-commands"></a>

Questi comandi non richiedono alcuna interazione diretta con un repository, quindi CodeArtifact non è necessario fare nulla per supportarli.


****  

| Comando | Description | 
| --- | --- | 
|   [costruire](https://docs.npmjs.com/cli/v6/commands/npm-build)   |  Costruisce un pacchetto.  | 
|   [cache](https://docs.npmjs.com/cli/cache)   |  Manipola la cache dei pacchetti.  | 
|   [completamento](https://docs.npmjs.com/cli/completion)   |  Abilita il completamento delle schede in tutti i comandi npm.  | 
|   [config](https://docs.npmjs.com/cli/config)   |  Aggiorna il contenuto dell'utente e dei `npmrc` file globali.  | 
|   [deduplicare](https://docs.npmjs.com/cli/dedupe)   |  Cerca nell'albero dei pacchetti locale e tenta di semplificare la struttura spostando le dipendenze più in alto nell'albero, dove possono essere condivise in modo più efficace da più pacchetti dipendenti.  | 
|   [modifica](https://docs.npmjs.com/cli/edit)   |  Modifica un pacchetto installato. Seleziona una dipendenza nella directory di lavoro corrente e apre la cartella del pacchetto nell'editor predefinito.  | 
|   [esplora](https://docs.npmjs.com/cli/explore)   |  Esplora un pacchetto installato. Genera una subshell nella directory del pacchetto installato specificato. Se viene specificato un comando, questo viene eseguito nella sottoshell, che poi termina immediatamente.  | 
|   [help](https://docs.npmjs.com/cli/help)   |  Ottiene aiuto su npm.  | 
|   [aiuto-ricerca](https://docs.npmjs.com/cli/help-search)   |  Cerca nella documentazione di aiuto di npm.  | 
|   [init](https://docs.npmjs.com/cli/init)   |  Crea un `package.json` file.  | 
|   [collegamento](https://docs.npmjs.com/cli/link)   |  Collega simbolicamente una cartella di pacchetto.  | 
|   [ls](https://docs.npmjs.com/cli/ls)   |  Elenca i pacchetti installati.  | 
|   [pacchetto](https://docs.npmjs.com/cli/pack)   |  Crea un archivio tar da un pacchetto.  | 
|   [prefisso](https://docs.npmjs.com/cli/prefix)   |  Visualizza il prefisso. Questa è la directory principale più vicina a contenere un `package.json` file, a meno che non `-g` venga specificata anche questa.  | 
|   [prugna](https://docs.npmjs.com/cli/prune)   |  Rimuove i pacchetti che non sono elencati nell'elenco delle dipendenze del pacchetto principale.  | 
|   [ricostruire](https://docs.npmjs.com/cli/rebuild)   |  Esegue il `npm build` comando sulle cartelle corrispondenti.  | 
|   [riavviare](https://docs.npmjs.com/cli/restart)   |  Esegue gli script di arresto, riavvio e avvio di un pacchetto e i pre e post script associati.  | 
|   [root](https://docs.npmjs.com/cli/root)   |  Stampa la `node_modules` cartella effettiva fino allo standard.  | 
|   [esegui script](https://docs.npmjs.com/cli/run-script)   |  Esegue script di pacchetti arbitrari.  | 
|   [pellicola shrinkwrap](https://docs.npmjs.com/cli/shrinkwrap)   |  Blocca le versioni dipendenti per la pubblicazione.  | 
|   [disinstallare](https://docs.npmjs.com/cli/uninstall)   |  Disinstalla un pacchetto.  | 

## Comandi non supportati
<a name="unsupported-commands"></a>

Questi comandi npm non sono supportati dai repository. CodeArtifact 


****  

| Comando | Description | Note | 
| --- | --- | --- | 
|   [accesso](https://docs.npmjs.com/cli/access)   |  Imposta il livello di accesso sui pacchetti pubblicati.  |  CodeArtifact utilizza un modello di autorizzazione diverso dal repository pubblico npmjs.  | 
|   [aggiungi utente](https://docs.npmjs.com/cli/adduser)   |  Aggiunge un account utente del registro  |  CodeArtifact utilizza un modello utente diverso dal repository pubblico npmjs.  | 
|   [audit](https://docs.npmjs.com/cli/audit)   |  Esegue un controllo di sicurezza.  |  CodeArtifact attualmente non vende dati sulle vulnerabilità di sicurezza.  | 
|   [gancio](https://docs.npmjs.com/cli/hook)   |  Gestisce gli hook di npm, inclusi l'aggiunta, la rimozione, l'elenco e l'aggiornamento.  |  CodeArtifact attualmente non supporta alcun tipo di meccanismo di notifica delle modifiche.  | 
|   [Login](https://docs.npmjs.com/cli-commands/adduser.html)   |  Autentica un utente. Questo è un alias per `npm adduser`.   |  CodeArtifact utilizza un modello di autenticazione diverso dal repository pubblico npmjs. [Per informazioni, consulta Autenticazione con npm.](npm-auth.md)  | 
|   [Disconnessione](https://docs.npmjs.com/cli/logout)   |  Esci dal registro.  |  CodeArtifact utilizza un modello di autenticazione diverso dal repository pubblico npmjs. Non è possibile disconnettersi da un CodeArtifact repository, ma i token di autenticazione scadono dopo la data di scadenza configurabile. La durata predefinita del token è di 12 ore.   | 
|   [proprietario](https://docs.npmjs.com/cli/owner)   |  Gestisce i proprietari dei pacchetti.  |  CodeArtifact utilizza un modello di autorizzazioni diverso dal repository pubblico npmjs.  | 
|   [profile](https://docs.npmjs.com/cli/profile)   |  Modifica le impostazioni sul profilo del registro.  |  CodeArtifact utilizza un modello utente diverso dal repository pubblico npmjs.  | 
|   [cerca](https://docs.npmjs.com/cli/search)   |  Cerca nel registro i pacchetti che corrispondono ai termini di ricerca.  |  CodeArtifact supporta funzionalità di ricerca limitate con il comando [list-packages](list-packages.md).  | 
|   [stella](https://docs.npmjs.com/cli/star)   |  Contrassegna i tuoi pacchetti preferiti.  |  CodeArtifact attualmente non supporta alcun tipo di meccanismo dei preferiti.  | 
|   [stelle](https://docs.npmjs.com/cli/stars)   |  Visualizza i pacchetti contrassegnati come preferiti.  |  CodeArtifact attualmente non supporta alcun tipo di meccanismo dei preferiti.  | 
|   [squadra](https://docs.npmjs.com/cli/team)   |  Gestisce i team organizzativi e le appartenenze ai team.  |  CodeArtifact utilizza un modello di appartenenza di utenti e gruppi diverso dal repository pubblico npmjs. *Per informazioni, consulta [Identità (utenti, gruppi e ruoli)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html) nella Guida per l'utente IAM.*  | 
|   [t](https://docs.npmjs.com/cli/token)oken   |  Gestisce i token di autenticazione.  |  CodeArtifact utilizza un modello diverso per ottenere i token di autenticazione. Per informazioni, consulta [Autenticazione con npm](npm-auth.md).  | 
|   [annullare la pubblicazione](https://docs.npmjs.com/cli/unpublish)   |  Rimuove un pacchetto dal registro.  |  CodeArtifact non supporta la rimozione di una versione del pacchetto da un repository utilizzando il client npm. È possibile utilizzare il comando [delete-package-version](delete-package.md).  | 
|   [whoami](https://docs.npmjs.com/cli/whoami)   |  Visualizza il nome utente npm.  |  CodeArtifact utilizza un modello utente diverso dal repository pubblico npmjs.  | 

# gestione dei tag npm
<a name="npm-tags"></a>

 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](https://docs.npmjs.com/cli/dist-tag) sul sito Web di npm. 

 Per impostazione predefinita, npm utilizza il `latest` tag per identificare la versione corrente di un pacchetto. `npm install pkg`(senza `@version` o `@tag` 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. 

## Modifica i tag con il client npm
<a name="editing-tags-with-the-npm-client"></a>

 I tre `npm dist-tag` comandi (`add``rm`, e`ls`) funzionano in modo identico nei CodeArtifact repository come nel registro npm [predefinito](https://registry.npmjs.com/).

## tag npm e API CopyPackageVersions
<a name="tags-and-cpv"></a>

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  |  `web-helper`  |   *più recente* (alias per la versione 1.0.1)  | 
|  D  |  `web-helper`  |   *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](copy-package.md) tra i repository.

## tag npm e repository upstream
<a name="tags-and-upstreams"></a>

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  |  `web-helper`  |   *più recente* (alias per la versione 1.0.0)  | 
|  U  |  `web-helper`  |   *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  |  `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 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  |  `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 l'*ultimo* tag alla 1.0.2.


****  

| Repository | Nome pacchetto | Tag 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 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
```

# Support per gestori di pacchetti compatibili con npm
<a name="npm-other-clients"></a>

Questi altri gestori di pacchetti sono compatibili CodeArtifact e funzionano con il formato di pacchetti npm e il protocollo npm wire: 
+  gestore di [pacchetti pnpm](https://pnpm.js.org). L'ultima versione confermata per funzionare CodeArtifact è la 3.3.4, rilasciata il 18 maggio 2019. 
+  Gestore di [pacchetti Yarn](https://yarnpkg.com/). L'ultima versione confermata per funzionare CodeArtifact è la 1.21.1, rilasciata l'11 dicembre 2019. 

**Nota**  
Ti consigliamo di usare Yarn 2.x con. CodeArtifact Yarn 1.x non dispone di nuovi tentativi HTTP, il che significa che è più suscettibile a guasti di servizio intermittenti che provocano codici di stato o errori di livello 500. Non è possibile configurare una strategia di riprova diversa per Yarn 1.x, ma questa è stata aggiunta in Yarn 2.x. Puoi usare Yarn 1.x, ma potrebbe essere necessario aggiungere nuovi tentativi di livello superiore negli script di compilazione. Ad esempio, esegui il comando yarn in un ciclo in modo che riprovi se il download dei pacchetti fallisce.