

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

# Gestione delle dipendenze, delle mancate corrispondenze e degli strumenti
<a name="dependencies-tooling-bp"></a>

Una gestione errata delle dipendenze può portare a errori di compilazione e problemi di runtime per chi utilizza i tuoi blueprint personalizzati. Strumenti e componenti obsoleti possono impedire agli utenti del blueprint di accedere alle funzionalità e alle correzioni di bug più recenti. È possibile gestire le dipendenze, gestire le discrepanze tra le dipendenze e aggiornare strumenti e componenti per garantire che tutte le dipendenze si basino sulle stesse versioni dei componenti e sulla sincronizzazione degli stessi componenti.

**Topics**
+ [Aggiungere dipendenze](#add-dependencies)
+ [Gestione delle discrepanze tra i tipi di dipendenza](#handle-dependency-mismatches)
+ [Usando yarn e npm](#use-yarn-npm)
+ [Aggiornamento di strumenti e componenti](#upgrade-tooling-components)

## Aggiungere dipendenze
<a name="add-dependencies"></a>

In qualità di autore del blueprint, potrebbe essere necessario aggiungere pacchetti al blueprint, ad esempio. `@amazon-codecatalyst/blueprint-component.environments` [È necessario aggiornare il `projen.ts` file con quel pacchetto e quindi rigenerare la configurazione del progetto con Projen.](https://github.com/projen/projen) Projen funge da modello di progetto per ogni codebase di blueprint, il che offre la possibilità di inviare aggiornamenti degli strumenti compatibili con le versioni precedenti modificando il modo in cui il modello rende i file di configurazione. Il `package.json` file è un file parzialmente di proprietà del modello Projen. Projen riconosce le versioni di dipendenza incluse nel file package.json, ma altre opzioni devono provenire dal modello.

**Per aggiungere una dipendenza e aggiornare un file `projenrc.ts`**

1. Nel `projen.ts` file, vai alla sezione deps.

1. Aggiungi la dipendenza che desideri utilizzare nel tuo blueprint.

1. Usa il seguente comando per rigenerare la configurazione del tuo progetto:

   ```
   yarn projen && yarn
   ```

## Gestione delle discrepanze tra i tipi di dipendenza
<a name="handle-dependency-mismatches"></a>

Dopo un aggiornamento di [Yarn](https://yarnpkg.com/), potresti ricevere il seguente errore relativo a un parametro del repository:

```
Type 'SourceRepository' is missing the following properties from type 'SourceRepository': synthesisSteps, addSynthesisStep
```

L'errore è dovuto a una mancata corrispondenza delle dipendenze che si verifica quando un componente si basa su una versione più recente di un altro componente, ma il componente di riferimento è collegato a una versione precedente. L'errore può essere corretto facendo in modo che tutti i componenti si basino sulla stessa versione in modo che la versione sia sincronizzata tra di loro. È meglio mantenere tutti i pacchetti forniti da blueprint nella stessa versione più recente (`0.0.x`), a meno che tu non sia sicuro di come gestisci le versioni. L'esempio seguente mostra come il `package.json` file può essere configurato in modo che tutte le dipendenze si basino sulla stessa versione:

```
...
"@caws-blueprint-component/caws-environments": "^0.1.12345",
"@caws-blueprint-component/caws-source-repositories": "^0.1.12345",
"@caws-blueprint-component/caws-workflows": "^0.1.12345",
"@caws-blueprint-component/caws-workspaces": "^0.1.12345",
"@caws-blueprint-util/blueprint-utils": "^0.1.12345",
...
"@caws-blueprint/blueprints.blueprint": "*",
```

Dopo aver configurato le versioni per tutte le dipendenze, utilizzate il seguente comando:

```
yarn install
```

## Usando yarn e npm
<a name="use-yarn-npm"></a>

I progetti utilizzano [Yarn](https://yarnpkg.com/) per gli utensili. L'uso di [npm](https://www.npmjs.com/) e Yarn causerà problemi di strumenti perché il modo in cui gli alberi delle dipendenze vengono risolti da ciascuno è diverso. Per evitare tali problemi, è meglio usare solo Yarn.

Se hai installato accidentalmente delle dipendenze usando npm, puoi rimuovere il `package-lock.json` file generato e assicurarti che il `.projenrc.ts` file sia aggiornato con le dipendenze necessarie. Rigeneri la configurazione del tuo progetto con Projen.

Utilizzate quanto segue per rigenerare dal modello:

```
yarn projen
```

Dopo esserti assicurato che il file .projenrc.ts sia aggiornato con le dipendenze necessarie, usa il seguente comando:

```
yarn
```

## Aggiornamento di strumenti e componenti
<a name="upgrade-tooling-components"></a>

Occasionalmente, potresti voler aggiornare gli strumenti e i componenti per rendere disponibili nuove funzionalità. Ti consigliamo di mantenere tutti i componenti sulla stessa versione a meno che tu non sia sicuro di come gestisci le versioni. Le versioni sono sincronizzate tra i componenti, quindi le stesse versioni per tutti i componenti garantiscono la corretta dipendenza tra di essi.

### Utilizzo di Yarn workspace monorepo
<a name="upgrade-tooling-components"></a>

Usa il seguente comando per aggiornare utilità e componenti dalla radice del repository di un blueprint personalizzato:

```
yarn upgrade @amazon-codecatalyst/*
```

Usa il seguente comando se non stai usando un monorepo:

```
yarn upgrade —pattern @amazon-codecatalyst/*
```

Altre opzioni che puoi usare per aggiornare strumenti e componenti:
+ Usa npm view `@caws-blueprint-component/<some-component>` per ottenere l'ultima versione.
+ Passa manualmente alla versione più recente impostando la versione nel file package.json e utilizzando il seguente comando:. `yarn` Tutti i componenti e le utilità devono avere la stessa versione.