

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Installation Finch à utiliser avec la AWS SAM CLI
<a name="install-finch"></a>

Finch AWS est un outil de développement de conteneurs qui fournit une alternative particulièrement avantageuse sur les systèmes macOS et Linux. Docker Pour plus d'informations, voir [Finch sur GitHub](https://github.com/runfinch). AvecFinch, AWS SAM peut fournir un environnement local similaire à AWS Lambda un conteneur pour créer, tester et déboguer vos applications sans serveur.

**Note**  
Vous devez Finch tester vos applications localement, créer des packages de déploiement à l'aide de l'`--use-container`option et créer des fonctions d'image OCI. À partir de la version 1.145.0 de la AWS SAM CLI, la AWS SAM CLI prend Finch en charge l'exécution de conteneurs alternative à. Docker

**Topics**
+ [Installation deFinch](#install-finch-instructions)
+ [Configuration à l'Finchaide de la AWS SAM CLI](#install-finch-configuration)
+ [Vérification de l'installation](#install-finch-verification)
+ [Arrêt d'Finch](#install-finch-stopping)
+ [Résolution des problèmes](#install-finch-troubleshooting)
+ [Étapes suivantes](#install-finch-next-steps)

## Installation deFinch
<a name="install-finch-instructions"></a>

Pour installer Finch sur votre système d'exploitation, suivez ces instructions.

### Conditions préalables
<a name="install-finch-prerequisites"></a>

**Note**  
Finchl'intégration dans la AWS SAM CLI est disponible sur les systèmes macOS et Linux. Pour les utilisateurs de Windows, pensez à utiliser une machine virtuelle ou un environnement Linux pour les Finch fonctionnalités.

**Versions de macOS :**
+ macOS 15 Séquoia
+ macOS 14 Sonoma

**Note**  
Finchprend en charge les deux dernières versions de macOS.

**Linux :**
+ Noyau Linux v4.x\+

### Installation de Finch
<a name="install-finch"></a>

#### macOS
<a name="install-finch-instructions-macos"></a>

**Pour installer Finch sur MacOS**

1. Installation Finch à l'aide de la `brew` CLI. Si vous y êtes invité, entrez votre mot de passe macOS.

   ```
   $ brew install finch
   ```

1. Vérifiez la Finch version installée.

   ```
   $ finch --version
   ```

1. Initialisez la machine Finch virtuelle (première configuration).

   ```
   $ finch vm init
   ```

1. Démarrez la machine Finch virtuelle.

   ```
   $ finch vm start
   ```

1. Vérifiez l'état de la machine Finch virtuelle.

   ```
   $ finch vm status
   ```

1. Vérifiez que cela Finch fonctionne correctement.

   ```
   $ finch --info
   $ finch ps
   ```

Pour plus d'informations, consultez la section [Installation de Finch sur macOS](https://runfinch.com/docs/managing-finch/macos/installation/).

#### Linux
<a name="install-finch-instructions-linux"></a>

Vous pouvez effectuer l'installation Finch sur Amazon Linux, Ubuntu ou en utilisant une méthode d'installation générique. Pour plus d'informations, consultez [Installation de Finch sous Linux.](https://runfinch.com/docs/managing-finch/linux/installation/)

## Configuration à l'Finchaide de la AWS SAM CLI
<a name="install-finch-configuration"></a>

Après l'installationFinch, la AWS SAM CLI détecte et utilise automatiquement Finch comme environnement d'exécution du conteneur lorsqu'elle Docker ne s'exécute pas.

**Note**  
Finchsert de solution de repli à. Docker Si vous avez Finch installé Docker et exécuté les deux, la AWS SAM CLI hiérarchise Docker par défaut.

### Configuration des préférences de l'administrateur (macOS)
<a name="install-finch-configuration-preference"></a>

Vous pouvez configurer la AWS SAM CLI pour utiliser un environnement d'exécution de conteneur spécifique par défaut en créant un fichier de préférences d'administrateur. Cette préférence à l'échelle du système remplace le comportement de secours par défaut.

**Options de configuration disponibles**
+ **Définissez Finch comme environnement d'exécution du conteneur préféré :**

  ```
  $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string finch" /Library/Preferences/com.amazon.samcli.plist
  ```
+ **Définissez Docker comme environnement d'exécution du conteneur préféré :**

  ```
  $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string docker" /Library/Preferences/com.amazon.samcli.plist
  ```
+ **Supprimer la préférence (retour au comportement par défaut) :**

  ```
  $ sudo /usr/libexec/PlistBuddy -c "Remove :DefaultContainerRuntime" /Library/Preferences/com.amazon.samcli.plist
  ```

**Note**  
Lorsqu'aucune préférence d'administrateur n'est définie, la AWS SAM CLI l'utilise Docker par défaut lorsqu'elle est disponible, avec Finch comme solution de secours lorsqu'elle n'Dockerest pas en cours d'exécution.

### Différences de montage de répertoires (macOS)
<a name="install-finch-differences"></a>

Sur macOS, les commandes AWS SAM locales échouent si vous localisez votre projet en dehors de votre répertoire personnel (`~`) ou`/Volumes`. Cette conception restreint le montage automatique de répertoires pour des raisons de sécurité à votre insu.

**Options d'atténuation**
+ **Option 1 :** Ouvrez la configuration Finch dans un éditeur de texte `~/.finch/finch.yaml` et ajoutez le chemin de votre projet sous la `additional_directories` section, puis redémarrez la machine Finch virtuelle. Pour plus d'informations, consultez la [documentation Finch](https://runfinch.com/docs/managing-finch/macos/disk-management/#adding-additional-disk-mounts).

  ```
  $ finch vm stop
  $ finch vm start
  ```
+ **Option 2 :** déplacez votre projet vers votre répertoire personnel.

## Vérification de l'installation
<a name="install-finch-verification"></a>

Après l'installation et le démarrageFinch, vérifiez qu'il fonctionne avec la AWS SAM CLI.

### Vérification de base
<a name="install-finch-verification-basic"></a>

Exécutez la commande suivante pour vérifier que la AWS SAM CLI peut utiliser Finch :

```
$ sam build --use-container
```

Vous devriez voir la AWS SAM CLI Finch utilisée pour créer votre application dans un environnement de conteneur.

**Note**  
Finchsert de solution de repli à. Docker Si elle Docker est en cours d'exécution, la AWS SAM CLI donnera la priorité Docker par défaut.

### Les tests Finch comme solution de secours
<a name="install-finch-verification-fallback"></a>

Pour effectuer un test Finch en tant que solution de secours en Docker cours d'exécution, vous devez d'Dockerabord vous arrêter.

**Pour tester la fonctionnalité de Finch secours**

1. Arrêtez Docker d'utiliser les commandes adaptées à votre système d'exploitation.

   **macOS :**

   ```
   $ docker stop $(docker ps -q)
   $ pkill -f "Docker Desktop"
   ```

   DockerLa vérification est arrêtée.

   ```
   $ docker ps
   ```

   **Linux :**

   ```
   $ docker stop $(docker ps -q)
   $ sudo systemctl stop docker
   ```

   DockerLa vérification est arrêtée.

   ```
   $ sudo systemctl status docker
   ```

1. Exécutez la `sam build --use-container` commande pour vérifier que la AWS SAM CLI est automatiquement utilisée Finch comme solution de secours.

## Arrêt d'Finch
<a name="install-finch-stopping"></a>

Si vous devez vous arrêterFinch, utilisez les commandes suivantes :

**macOS :**

```
$ finch vm stop
$ sudo pkill -f finch
```

FinchLa vérification est arrêtée.

```
$ finch vm status
```

**Linux :**

```
$ sudo systemctl stop finch
$ sudo pkill -f finch
```

FinchLa vérification est arrêtée.

```
$ sudo systemctl status finch
```

## Résolution des problèmes
<a name="install-finch-troubleshooting"></a>

Si vous rencontrez des problèmes avec Finch :
+ Vérifiez que votre système d'exploitation répond aux exigences requises.
+ Vérifiez que vous avez activé la virtualisation sur votre système.
+ Pour macOS, vérifiez que vous disposez de suffisamment d'espace disque pour la machine virtuelle.
+ Pour Linux, vérifiez que vous disposez des autorisations nécessaires pour exécuter `systemctl` des commandes.
+ Si vous rencontrez des échecs de CloudFormation déploiement avec des erreurs « type de support non pris en charge » lorsque vous transférez des images multi-architectures vers Amazon Elastic Container Registry (Amazon ECR), créez un artefact d'image unique au lieu d'utiliser des images multi-architectures. Cela se produit car envoie Finch à la fois l'index de l'image et l'image vers Amazon ECR, alors que seule l'Dockerimage est envoyée.
+ Si la construction multiplateforme échoue lorsque l'architecture de la fonction cible ne correspond pas à l'architecture de la machine hôte sous Linux, activez l'émulation multiplateforme en exécutant. `sudo finch run --privileged --rm tonistiigi/binfmt:master --install all`

Pour un dépannage supplémentaire, consultez la [documentation Finch](https://runfinch.com/docs/) ou le[Résolution des problèmes de la CLI AWS SAM](sam-cli-troubleshooting.md).

## Étapes suivantes
<a name="install-finch-next-steps"></a>

Maintenant que vous l'avez Finch installé, vous pouvez l'utiliser avec la AWS SAM CLI pour :
+ Créez des applications sans serveur à l'aide de conteneurs avec`sam build --use-container`. Pour de plus amples informations, veuillez consulter [sam build](sam-cli-command-reference-sam-build.md).
+ Testez les fonctions Lambda localement avec. `sam local invoke` Pour de plus amples informations, veuillez consulter [sam local invoke](sam-cli-command-reference-sam-local-invoke.md).
+ Démarrez une API Gateway locale avec`sam local start-api`. Pour de plus amples informations, veuillez consulter [sam local start-api](sam-cli-command-reference-sam-local-start-api.md).
+ Démarrez un point de terminaison Lambda local avec. `sam local start-lambda` Pour de plus amples informations, veuillez consulter [sam local start-lambda](sam-cli-command-reference-sam-local-start-lambda.md).

Pour plus d'informations sur l'utilisation de la AWS SAM CLI avec des conteneurs, consultez[Compilation par défaut avec AWS SAM](serverless-sam-cli-using-build.md).