

Amazon non CodeCatalyst è più aperta a nuovi clienti. I clienti esistenti possono continuare a utilizzare il servizio normalmente. Per ulteriori informazioni, consulta [Come migrare da CodeCatalyst](migration.md).

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

# Utilizzo di npm
<a name="packages-npm"></a>

Questi argomenti descrivono come è possibile utilizzare `npm` il gestore di pacchetti Node.js con CodeCatalyst.

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

**Topics**
+ [

# Configurazione e utilizzo di npm
](packages-npm-use.md)
+ [

# gestione dei tag npm
](packages-npm-tags.md)

# Configurazione e utilizzo di npm
<a name="packages-npm-use"></a>

Per `npm` utilizzarlo CodeCatalyst, è necessario connettersi `npm` al repository dei pacchetti e fornire un token di accesso personale (PAT) per l'autenticazione. È possibile visualizzare le istruzioni per la connessione `npm` al repository dei pacchetti nella console. CodeCatalyst 

**Contents**
+ [

## Configurazione di npm con CodeCatalyst
](#npm-configure)
+ [

## Installazione dei pacchetti npm da un archivio di pacchetti CodeCatalyst
](#npm-install)
+ [

## Installazione dei pacchetti npm da npmjs tramite CodeCatalyst
](#npm-install-npmjs)
+ [

## Pubblicazione di pacchetti npm nel tuo repository di pacchetti CodeCatalyst
](#npm-publish)
+ [

## supporto ai comandi npm
](#npm-commands)
  + [

### Comandi supportati che interagiscono con un archivio di pacchetti
](#supported-commands-that-interact-with-a-repository)
  + [

### Comandi lato client supportati
](#supported-client-side-commands)
  + [

### Comandi non supportati
](#unsupported-commands)

## Configurazione di npm con CodeCatalyst
<a name="npm-configure"></a>

Le seguenti istruzioni spiegano come autenticarsi e connettersi `npm` al repository dei pacchetti. CodeCatalyst Per ulteriori informazioni su npm, consulta la documentazione [ufficiale](https://docs.npmjs.com/) di npm.

**Per connetterti `npm` al tuo repository di pacchetti CodeCatalyst**

1. Apri la CodeCatalyst console all'indirizzo [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Vai al tuo progetto.

1. Nel riquadro di navigazione scegliere **Pacchetti**.

1. Scegli il tuo repository di pacchetti dall'elenco.

1. Scegli **Connect to repository.**

1. Nei **dettagli di configurazione**, in **Package manager client**, scegli **npm client**.

1. Scegli il tuo sistema operativo per visualizzare i passaggi di configurazione corrispondenti.

1. È necessario un token di accesso personale (PAT) per autenticare npm con. CodeCatalyst Se hai già un token, puoi usarlo. In caso contrario, puoi crearne uno utilizzando i seguenti passaggi.

   1. **(Facoltativo):** aggiorna il **nome e la **data di scadenza** del PAT**.

   1. Scegli **Crea token**.

   1. Copia e archivia il tuo PAT in un luogo sicuro.
**avvertimento**  
Non potrai più vedere o copiare il tuo PAT dopo aver chiuso la finestra di dialogo. Le credenziali devono essere di breve durata per ridurre al minimo il periodo di tempo in cui un utente malintenzionato può utilizzarle dopo averle sottratte indebitamente.

1. Esegui i seguenti comandi dalla directory principale del tuo progetto per configurare npm con il tuo repository di pacchetti. I comandi faranno quanto segue:
   + Crea un `.npmrc` file a livello di progetto se il tuo progetto non ne ha uno.
   + Aggiungi le informazioni sull'endpoint del repository del pacchetto al file a livello di progetto. `.npmrc`
   + Aggiungi le tue credenziali (PAT) al tuo file a livello utente. `.npmrc`

   Sostituisci i seguenti valori.
**Nota**  
Se state copiando le istruzioni dalla console, i valori dei seguenti comandi vengono aggiornati automaticamente e non è necessario modificarli.
   + *username*Sostituiscilo con il tuo nome CodeCatalyst utente.
   + *PAT*Sostituiscilo con il tuo CodeCatalyst PAT.
   + *space\$1name*Sostituiscilo con il nome CodeCatalyst dello spazio.
   + *proj\$1name*Sostituiscilo con il nome CodeCatalyst del tuo progetto.
   + *repo\$1name*Sostituiscilo con il nome CodeCatalyst del repository dei pacchetti.

   ```
   npm set registry=https://packages.region.codecatalyst.aws/npm/space-name/proj-name/repo-name/ --location project
   npm set //packages.region.codecatalyst.aws/npm/space-name/proj-name/repo-name/:_authToken=username:PAT
   ```

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

   ```
   npm set //packages.region.codecatalyst.aws/npm/space-name/proj-name/repo-name/:always-auth=true --location project
   ```

## Installazione dei pacchetti npm da un archivio di pacchetti CodeCatalyst
<a name="npm-install"></a>

Dopo aver collegato npm al tuo repository seguendo i passaggi indicati[Configurazione di npm con CodeCatalyst](#npm-configure), puoi eseguire `npm` comandi sul tuo repository.

Puoi installare un pacchetto npm che si trova nel tuo repository di CodeCatalyst pacchetti o in uno dei suoi repository upstream con il comando. `npm install`

```
npm install lodash
```

## Installazione dei pacchetti npm da npmjs tramite CodeCatalyst
<a name="npm-install-npmjs"></a>

È possibile installare i pacchetti npm da [npmjs.com](https://www.npmjs.com/) tramite un CodeCatalyst repository configurando il repository con una connessione upstream al repository gateway collegato a npmjs.com,. **npm-public-registry-gateway** I pacchetti installati da npmjs vengono inseriti e archiviati nel repository del gateway e nel repository di pacchetti più lontano a valle.

**Per installare pacchetti da npmjs**

1. Se non l'hai già fatto, esegui la configurazione `npm` con il tuo repository di CodeCatalyst pacchetti seguendo i passaggi riportati di seguito. [Configurazione di npm con CodeCatalyst](#npm-configure) 

1. Verifica che il tuo repository abbia aggiunto il repository gateway come connessione **npm-public-registry-gateway**upstream. Puoi verificare quali sorgenti upstream vengono aggiunte o aggiungerle **npm-public-registry-gateway**come sorgente upstream seguendo le istruzioni contenute [Aggiunta di un repository upstream](packages-upstream-repositories-add.md) e scegliendo il repository. **npm-public-registry-gateway**

1. Installa i pacchetti con il comando. `npm install`

   ```
   npm install package_name
   ```

Per ulteriori informazioni sulla richiesta di pacchetti dai repository upstream, vedere. [Richiesta di una versione del pacchetto con repository upstream](packages-upstream-repositories-request.md)

## Pubblicazione di pacchetti npm nel tuo repository di pacchetti CodeCatalyst
<a name="npm-publish"></a>

Dopo aver completato[Configurazione di npm con CodeCatalyst](#npm-configure), puoi eseguire `npm` i comandi.

È possibile pubblicare un pacchetto npm in un repository di CodeCatalyst pacchetti con il `npm publish` comando.

```
npm publish
```

*Per informazioni su come creare pacchetti npm, vedere [Creazione di moduli Node.js](https://docs.npmjs.com/getting-started/creating-node-modules) su npm Docs.*

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

Le sezioni seguenti riassumono i `npm` comandi supportati dai repository di CodeCatalyst pacchetti, oltre a elencare comandi specifici che non sono supportati.

**Topics**
+ [

### Comandi supportati che interagiscono con un archivio di pacchetti
](#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 archivio di pacchetti
<a name="supported-commands-that-interact-with-a-repository"></a>

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


****  

| Comando | Description | 
| --- | --- | 
|   [bug](https://docs.npmjs.com/cli/bugs)   |  Indovina la posizione dell'URL del bug tracker di un pacchetto, quindi tenta di 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)   |  Indovina la posizione dell'URL della documentazione di un pacchetto, quindi tenta di aprirlo utilizzando il `--browser` parametro config.  | 
|   [dottore](https://docs.npmjs.com/cli/doctor)   |  Esegue una serie di controlli per verificare che l'installazione di npm sia in grado di 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 esegue un`npm ci`, seguito immediatamente da un`npm test`.  | 
|   [install-test](https://docs.npmjs.com/cli/install-test)   |  Installa il pacchetto ed esegue i test. Esegue un`npm install`, seguito immediatamente da un`npm test`.  | 
|   [obsoleto](https://docs.npmjs.com/cli/outdated)   |  Controlla il registro configurato per determinare se i pacchetti installati sono 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 utilizzato anche 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 di pacchetti, quindi CodeCatalyst non richiedono nulla per supportarli.


****  

| Comando | Description | 
| --- | --- | 
|   [bin (legacy)](https://docs.npmjs.com/cli/v8/commands/npm-bin)   |  Visualizza la `bin` directory npm.  | 
|   [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 più efficacemente 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 directory dei pacchetti nell'editor predefinito.  | 
|   [esplora](https://docs.npmjs.com/cli/explore)   |  Sfoglia un pacchetto installato. Genera una subshell nella directory del pacchetto installato specificato. Se viene specificato un comando, questo viene eseguito nella sottoshell, che si spegne 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 pacchetti.  | 
|   [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 un prefisso. Questa è la directory principale più vicina a contenere un `package.json` file, a meno che non `-g` sia 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-script e post-script associati.  | 
|   [root](https://docs.npmjs.com/cli/root)   |  Stampa la directory effettiva per renderla standard`node_modules`.  | 
|   [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 `npm` comandi non sono supportati dagli archivi dei CodeCatalyst pacchetti.


****  

| Comando | Description | Note | 
| --- | --- | --- | 
|   [accesso](https://docs.npmjs.com/cli/access)   |  Imposta il livello di accesso sui pacchetti pubblicati.  |  CodeCatalyst utilizza un modello di autorizzazione diverso dal repository pubblico npmjs.  | 
|   [aggiungi utente](https://docs.npmjs.com/cli/adduser)   |  Aggiunge un account utente del registro  |  CodeCatalyst utilizza un modello utente diverso dal repository pubblico npmjs.  | 
|   [audit](https://docs.npmjs.com/cli/audit)   |  Esegue un controllo di sicurezza.  |  CodeCatalyst attualmente non vende dati sulle vulnerabilità di sicurezza.  | 
|   [gancio](https://docs.npmjs.com/cli/v9/commands/npm-hook)   |  Gestisce gli hook di npm, inclusi l'aggiunta, la rimozione, l'elenco e l'aggiornamento.  |  CodeCatalyst attualmente non supporta alcun meccanismo di notifica delle modifiche.  | 
|   [Login](https://docs.npmjs.com/cli-commands/adduser.html)   |  Autentica un utente. Questo è un alias per `npm adduser`.   |  CodeCatalyst utilizza un modello di autenticazione diverso dal repository pubblico npmjs. Per informazioni, consulta [Configurazione di npm con CodeCatalyst](#npm-configure).  | 
|   [Disconnessione](https://docs.npmjs.com/cli/logout)   |  Si disconnette dal registro.  |  CodeCatalyst utilizza un modello di autenticazione diverso dal repository pubblico npmjs. Non è possibile disconnettersi da un CodeCatalyst 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.  |  CodeCatalyst utilizza un modello di autorizzazioni diverso dal repository pubblico npmjs.  | 
|   [profile](https://docs.npmjs.com/cli/profile)   |  Modifica le impostazioni sul profilo del registro.  |  CodeCatalyst 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.  |  CodeCatalyst non supporta il `search` comando.  | 
|   [stella](https://docs.npmjs.com/cli/star)   |  Contrassegna i tuoi pacchetti preferiti.  |  CodeCatalyst attualmente non supporta alcun meccanismo di creazione di preferiti.  | 
|   [stelle](https://docs.npmjs.com/cli/stars)   |  Visualizza i pacchetti contrassegnati come preferiti.  |  CodeCatalyst attualmente non supporta alcun meccanismo di creazione di preferiti.  | 
|   [squadra](https://docs.npmjs.com/cli/team)   |  Gestisce i team e le appartenenze ai team.  |  CodeCatalyst utilizza un modello di appartenenza di utenti e gruppi diverso dal repository pubblico npmjs.  | 
|   [t](https://docs.npmjs.com/cli/token)oken   |  Gestisce i token di autenticazione.  |  CodeCatalyst utilizza un modello diverso per ottenere i token di autenticazione. Per informazioni, consulta [Configurazione di npm con CodeCatalyst](#npm-configure).  | 
|   [annullare la pubblicazione](https://docs.npmjs.com/cli/unpublish)   |  Rimuove un pacchetto dal registro.  |  CodeCatalyst non supporta la rimozione di una versione del pacchetto da un repository utilizzando il client npm. È possibile eliminare un pacchetto nella console.  | 
|   [whoami](https://docs.npmjs.com/cli/whoami)   |  Visualizza il nome utente npm.  |  CodeCatalyst utilizza un modello utente diverso dal repository pubblico npmjs.  | 

# gestione dei tag npm
<a name="packages-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 invece di utilizzare i numeri di versione. Ad esempio, hai un progetto con più flussi di sviluppo e utilizzi un tag diverso per ogni flusso (ad esempio,, `stable` `beta``dev`,`canary`). *Per ulteriori informazioni, consulta [dist-tag](https://docs.npmjs.com/cli/dist-tag) su npm Docs.* 

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 solo il tag più recente per le versioni di rilascio stabili. Altri tag vengono utilizzati per le versioni instabili o non definitive. 

## Modifica dei 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 allo stesso modo nei repository di CodeCatalyst pacchetti come funzionano nel registro [npm predefinito](https://registry.npmjs.com/).

## tag npm e repository upstream
<a name="packages-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, CodeCatalyst 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 `web-helper` entrambi 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 più recenti che quelli alpha.** Le versioni a cui puntano i tag non cambieranno.

Quando lo stesso tag è presente sullo stesso pacchetto sia nell'archivio originale che in quello locale, CodeCatalyst utilizza il tag che è stato aggiornato l'*ultima volta*. Ad esempio, supponiamo che i tag su *webhelper* siano stati modificati in modo da assomigliare ai seguenti.


****  

| Repository | Nome pacchetto | Tag del pacchetto | Ultimo aggiornamento | 
| --- | --- | --- | --- | 
|  R  |  `web-helper`  |   *più recente* (alias per la versione 1.0.0)  |  1 gennaio 2023  | 
|  U  |  `web-helper`  |   *più recente* (alias per la versione 1.0.1)  |  1 giugno 2023  | 

*In questo caso, quando il client npm recupera i tag per il pacchetto *web-helper* dal repository`R`, l'ultimo tag assumerà l'alias della *versione 1.0.1 perché è stato aggiornato per ultima*.* Ciò semplifica l'utilizzo di nuove versioni di pacchetti in un repository upstream che non sono ancora presenti in un repository locale mediante l'esecuzione. `npm update`