

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Instalasi Finch untuk digunakan dengan AWS SAM CLI
<a name="install-finch"></a>

Finch AWS adalah alat pengembangan kontainer yang menyediakan alternatifDocker, terutama bermanfaat pada sistem macOS dan Linux. Untuk informasi lebih lanjut, lihat [Finch di GitHub](https://github.com/runfinch). DenganFinch, AWS SAM dapat menyediakan lingkungan lokal yang mirip dengan AWS Lambda sebagai wadah untuk membangun, menguji, dan men-debug aplikasi tanpa server Anda.

**catatan**  
Anda perlu Finch menguji aplikasi Anda secara lokal, untuk membangun paket penerapan menggunakan `--use-container` opsi, dan membangun fungsi gambar OCI. Dimulai dengan AWS SAM CLI versi 1.145.0, AWS SAM CLI Finch mendukung sebagai runtime kontainer alternatif untuk. Docker

**Topics**
+ [Menginstal Finch](#install-finch-instructions)
+ [Mengkonfigurasi Finch dengan CLI AWS SAM](#install-finch-configuration)
+ [Memverifikasi instalasi](#install-finch-verification)
+ [Menghentikan Finch](#install-finch-stopping)
+ [Pemecahan masalah](#install-finch-troubleshooting)
+ [Langkah selanjutnya](#install-finch-next-steps)

## Menginstal Finch
<a name="install-finch-instructions"></a>

Ikuti petunjuk ini untuk menginstal Finch pada sistem operasi Anda.

### Prasyarat
<a name="install-finch-prerequisites"></a>

**catatan**  
Finchintegrasi dalam AWS SAM CLI tersedia di sistem macOS dan Linux. Untuk pengguna Windows, pertimbangkan untuk menggunakan mesin virtual atau lingkungan Linux untuk Finch fungsionalitas.

**Versi macOS:**
+ macOS 15 Sequoia
+ macOS 14 Sonoma

**catatan**  
Finchmendukung dua versi terbaru macOS.

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

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

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

**Untuk menginstal Finch di macOS**

1. Instal Finch menggunakan `brew` CLI. Jika diminta, masukkan kata sandi macOS Anda.

   ```
   $ brew install finch
   ```

1. Periksa Finch versi yang diinstal.

   ```
   $ finch --version
   ```

1. Inisialisasi mesin Finch virtual (pengaturan pertama kali).

   ```
   $ finch vm init
   ```

1. Mulai mesin Finch virtual.

   ```
   $ finch vm start
   ```

1. Periksa status mesin Finch virtual.

   ```
   $ finch vm status
   ```

1. Verifikasi yang Finch berjalan dengan benar.

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

Untuk informasi selengkapnya, lihat [Menginstal Finch di macOS](https://runfinch.com/docs/managing-finch/macos/installation/).

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

Anda dapat menginstal Finch di Amazon Linux, Ubuntu, atau dengan menggunakan metode instalasi generik. Untuk informasi selengkapnya, lihat [Menginstal Finch di Linux](https://runfinch.com/docs/managing-finch/linux/installation/).

## Mengkonfigurasi Finch dengan CLI AWS SAM
<a name="install-finch-configuration"></a>

Setelah Anda menginstalFinch, AWS SAM CLI secara otomatis mendeteksi dan menggunakan Finch sebagai runtime kontainer saat Docker tidak berjalan.

**catatan**  
Finchberfungsi sebagai fallback ke. Docker Jika Anda memiliki keduanya Docker dan Finch menginstal dan menjalankan, AWS SAM CLI memprioritaskan secara defaultDocker.

### Konfigurasi preferensi administrator (macOS)
<a name="install-finch-configuration-preference"></a>

Anda dapat mengonfigurasi AWS SAM CLI untuk menggunakan runtime kontainer tertentu sebagai default dengan membuat file preferensi administrator. Preferensi seluruh sistem ini mengesampingkan perilaku fallback default.

**Opsi konfigurasi yang tersedia**
+ **Tetapkan Finch sebagai runtime kontainer pilihan:**

  ```
  $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string finch" /Library/Preferences/com.amazon.samcli.plist
  ```
+ **Tetapkan Docker sebagai runtime kontainer pilihan:**

  ```
  $ sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string docker" /Library/Preferences/com.amazon.samcli.plist
  ```
+ **Hapus preferensi (kembali ke perilaku default):**

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

**catatan**  
Ketika tidak ada preferensi administrator yang disetel, AWS SAM CLI menggunakan secara Docker default bila tersedia, dengan Finch sebagai fallback saat Docker tidak berjalan.

### Perbedaan pemasangan direktori (macOS)
<a name="install-finch-differences"></a>

Di macOS, perintah AWS SAM lokal gagal jika Anda menemukan project di luar home directory (`~`) atau. `/Volumes` Desain ini membatasi pemasangan direktori otomatis untuk alasan keamanan tanpa sepengetahuan Anda.

**Opsi mitigasi**
+ **Opsi 1:** Buka konfigurasi Finch di editor teks `~/.finch/finch.yaml` dan tambahkan jalur proyek Anda di bawah `additional_directories` bagian, lalu restart mesin Finch virtual. Untuk informasi tambahan, lihat [dokumentasi Finch](https://runfinch.com/docs/managing-finch/macos/disk-management/#adding-additional-disk-mounts).

  ```
  $ finch vm stop
  $ finch vm start
  ```
+ **Opsi 2:** Pindahkan proyek Anda ke direktori home Anda.

## Memverifikasi instalasi
<a name="install-finch-verification"></a>

Setelah Anda menginstal dan memulaiFinch, verifikasi bahwa itu berfungsi dengan AWS SAM CLI.

### Verifikasi dasar
<a name="install-finch-verification-basic"></a>

Jalankan perintah berikut untuk memverifikasi bahwa AWS SAM CLI dapat menggunakan: Finch

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

Anda akan melihat AWS SAM CLI menggunakan Finch untuk membangun aplikasi Anda di lingkungan kontainer.

**catatan**  
Finchberfungsi sebagai fallback ke. Docker Jika Docker sedang berjalan, AWS SAM CLI akan memprioritaskan secara defaultDocker.

### Pengujian Finch sebagai fallback
<a name="install-finch-verification-fallback"></a>

Untuk menguji Finch sebagai fallback saat Docker sedang berjalan, Anda harus berhenti Docker terlebih dahulu.

**Untuk menguji fungsionalitas Finch fallback**

1. Berhenti Docker menggunakan perintah yang sesuai untuk sistem operasi Anda.

   **macOS:**

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

   DockerVerifikasi dihentikan.

   ```
   $ docker ps
   ```

   **Linux:**

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

   DockerVerifikasi dihentikan.

   ```
   $ sudo systemctl status docker
   ```

1. Jalankan `sam build --use-container` perintah untuk memverifikasi AWS SAM CLI secara otomatis menggunakan Finch sebagai fallback.

## Menghentikan Finch
<a name="install-finch-stopping"></a>

Jika Anda perlu berhentiFinch, gunakan perintah berikut:

**macOS:**

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

FinchVerifikasi dihentikan.

```
$ finch vm status
```

**Linux:**

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

FinchVerifikasi dihentikan.

```
$ sudo systemctl status finch
```

## Pemecahan masalah
<a name="install-finch-troubleshooting"></a>

Jika Anda mengalami masalah denganFinch:
+ Verifikasi bahwa sistem operasi Anda memenuhi prasyarat.
+ Verifikasi bahwa Anda telah mengaktifkan virtualisasi pada sistem Anda.
+ Untuk macOS, verifikasi bahwa Anda memiliki ruang disk yang cukup untuk mesin virtual.
+ Untuk Linux, verifikasi bahwa Anda memiliki izin yang tepat untuk menjalankan `systemctl` perintah.
+ Jika Anda mengalami kegagalan CloudFormation penerapan dengan kesalahan “tipe media tidak didukung” saat Anda mendorong gambar multi-arsitektur ke Amazon Elastic Container Registry (Amazon ECR), buat artefak gambar tunggal alih-alih menggunakan gambar multi-arsitektur. Ini terjadi karena Finch mendorong indeks gambar dan gambar ke Amazon ECR, sementara hanya Docker mendorong gambar.
+ Jika pembuatan lintas platform gagal saat arsitektur fungsi target tidak cocok dengan arsitektur mesin host di Linux, aktifkan emulasi lintas platform dengan menjalankan. `sudo finch run --privileged --rm tonistiigi/binfmt:master --install all`

Untuk pemecahan masalah tambahan, lihat [dokumentasi Finch](https://runfinch.com/docs/) atau. [AWS SAMCLIpemecahan masalah](sam-cli-troubleshooting.md)

## Langkah selanjutnya
<a name="install-finch-next-steps"></a>

Sekarang setelah Anda Finch menginstal, Anda dapat menggunakannya dengan AWS SAM CLI untuk:
+ Bangun aplikasi tanpa server menggunakan wadah dengan. `sam build --use-container` Untuk informasi selengkapnya, lihat [sam build](sam-cli-command-reference-sam-build.md).
+ Uji fungsi Lambda secara lokal dengan. `sam local invoke` Untuk informasi selengkapnya, lihat [sam local invoke](sam-cli-command-reference-sam-local-invoke.md).
+ Mulai API Gateway lokal dengan`sam local start-api`. Untuk informasi selengkapnya, lihat [sam local start-api](sam-cli-command-reference-sam-local-start-api.md).
+ Mulai titik akhir Lambda lokal dengan. `sam local start-lambda` Untuk informasi selengkapnya, lihat [sam local start-lambda](sam-cli-command-reference-sam-local-start-lambda.md).

Untuk informasi selengkapnya tentang penggunaan AWS SAM CLI dengan kontainer, lihat. [Membangun default dengan AWS SAM](serverless-sam-cli-using-build.md)