

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

# Membangun dan memasang AWS CLI dari sumber
<a name="getting-started-source-install"></a>

Topik ini menjelaskan cara menginstal atau memperbarui dari sumber ke rilis terbaru AWS Command Line Interface (AWS CLI) pada sistem operasi yang didukung. 

Untuk informasi tentang rilis terbaru AWS CLI, lihat [Changelog AWS CLI versi 2](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) di. GitHub

**penting**  
AWS CLI versi 1 dan 2 menggunakan nama `aws` perintah yang sama. Jika sebelumnya Anda menginstal AWS CLI versi 1, lihat[Panduan migrasi untuk AWS CLI versi 2](cliv2-migration.md).

**Topics**
+ [Mengapa membangun dari sumber?](#source-getting-started-install-why)
+ [Langkah cepat](#source-getting-started-install-quicksteps)
+ [Langkah 1: Siapkan semua persyaratan](#source-getting-started-install-reqs)
+ [Langkah 2: Mengkonfigurasi instalasi AWS CLI sumber](#source-getting-started-install-config)
+ [Langkah 3: Membangun AWS CLI](#source-getting-started-install-build)
+ [Langkah 4: Memasang AWS CLI](#source-getting-started-install-instructions)
+ [Langkah 5: Memverifikasi AWS CLI instalasi](#source-getting-started-install-verify)
+ [Contoh alur kerja](#source-getting-started-install-workflows)
+ [Memecahkan masalah kesalahan AWS CLI penginstalan dan uninstall](#source-install-tshoot)
+ [Langkah selanjutnya](#source-install-next-steps)

## Mengapa membangun dari sumber?
<a name="source-getting-started-install-why"></a>

 AWS CLI Ini [tersedia sebagai installer pra-bangun](getting-started-install.md) untuk sebagian besar platform dan lingkungan serta gambar Docker. 

Umumnya, installer ini menyediakan cakupan untuk sebagian besar kasus penggunaan. Petunjuk untuk menginstal dari sumber adalah untuk membantu kasus penggunaan yang tidak dicakup oleh penginstal kami. Beberapa kasus penggunaan ini meliputi yang berikut:
+ Pemasang pra-bangun tidak mendukung lingkungan Anda. Misalnya, ARM 32-bit tidak didukung oleh installer pra-bangun.
+ Pemasang pra-bangun memiliki dependensi yang tidak dimiliki lingkungan Anda. Misalnya, Alpine Linux menggunakan [https://musl.libc.org/](https://musl.libc.org/), tetapi installer saat ini memerlukan `glibc` menyebabkan installer pre-built tidak segera berfungsi. 
+ Pemasang pra-bangun memerlukan sumber daya yang membatasi akses lingkungan Anda. Misalnya, sistem keamanan yang diperkeras mungkin tidak memberikan izin ke memori bersama. Ini diperlukan untuk `aws` installer beku. 
+ Pemasang pra-bangun sering kali merupakan pemblokir untuk pengelola di manajer paket, karena kontrol penuh atas proses pembangunan untuk kode dan paket lebih disukai. Membangun dari sumber memungkinkan pengelola distribusi proses yang lebih efisien untuk menjaga pembaruan. AWS CLI Mengaktifkan pengelola memberi pelanggan lebih banyak up-to-date versi AWS CLI saat menginstal dari manajer paket pihak ke-3 seperti`brew`,, `yum` dan. `apt`
+ Pelanggan yang menambal AWS CLI fungsionalitas memerlukan membangun dan menginstal AWS CLI from source. Ini sangat penting bagi anggota komunitas yang ingin menguji perubahan yang telah mereka buat pada sumber sebelum memberikan kontribusi perubahan ke AWS CLI GitHub repositori.

## Langkah cepat
<a name="source-getting-started-install-quicksteps"></a>

**catatan**  
Semua contoh kode diasumsikan berjalan dari root direktori sumber.

Untuk membangun dan menginstal AWS CLI from source, ikuti langkah-langkah di bagian ini. Ini AWS CLI memanfaatkan [GNU Autotools](https://www.gnu.org/software/automake/faq/autotools-faq.html) untuk menginstal dari sumber. Dalam kasus yang paling sederhana, AWS CLI dapat diinstal dari sumber dengan menjalankan perintah contoh default dari root AWS CLI GitHub repositori.



1. [Siapkan semua persyaratan untuk lingkungan Anda.](#source-getting-started-install-reqs) Ini termasuk dapat menjalankan file yang dihasilkan [GNU Autotools](https://www.gnu.org/software/automake/faq/autotools-faq.html) dan Python 3.8 atau yang lebih baru diinstal.

1. Di terminal Anda, arahkan ke tingkat atas folder AWS CLI sumber dan jalankan `./configure` perintah. Perintah ini memeriksa sistem untuk semua dependensi yang diperlukan dan menghasilkan `Makefile` untuk membangun dan menginstal AWS CLI berdasarkan konfigurasi yang terdeteksi dan ditentukan. 

------
#### [ Linux and macOS ]

   Contoh `./configure` perintah berikut menetapkan konfigurasi build untuk AWS CLI menggunakan pengaturan default.

   ```
   $ ./configure
   ```

------
#### [ Windows PowerShell ]

   Sebelum menjalankan perintah apa pun yang memanggil MSYS2, Anda harus mempertahankan direktori kerja Anda saat ini:

   ```
   PS C:\> $env:CHERE_INVOKING = 'yes'
   ```

   Kemudian gunakan contoh `./configure` perintah berikut untuk mengatur konfigurasi build untuk AWS CLI menggunakan jalur lokal Anda ke executable Python Anda, menginstal ke C:\$1Program Files\$1AWSCLI, dan men-download semua dependensi.

   ```
   PS C:\> C:\msys64\usr\bin\bash  -lc " PYTHON='C:\path\to\python.exe' ./configure --prefix='C:\Program Files\AWSCLI' --with-download-deps "
   ```

------

   Untuk detail, opsi konfigurasi yang tersedia, dan informasi pengaturan default, lihat [Langkah 2: Mengkonfigurasi instalasi AWS CLI sumber](#source-getting-started-install-config) bagian.

1. Jalankan perintah `make`. Perintah ini membangun AWS CLI sesuai dengan pengaturan konfigurasi Anda. 

   Contoh `make` perintah berikut dibangun dengan opsi default menggunakan `./configure` pengaturan yang ada.

------
#### [ Linux and macOS ]

   ```
   $ make
   ```

------
#### [ Windows PowerShell ]

   ```
   PS C:\> C:\msys64\usr\bin\bash -lc "make" 
   ```

------

   Untuk detail dan opsi build yang tersedia, lihat [Langkah 3: Membangun AWS CLI](#source-getting-started-install-build) bagian.

1. Jalankan perintah `make install`. Perintah ini menginstal bawaan Anda AWS CLI ke lokasi yang dikonfigurasi di sistem Anda. 

   Contoh `make install` perintah berikut menginstal bawaan Anda AWS CLI dan membuat symlink di lokasi yang dikonfigurasi menggunakan pengaturan perintah default.

------
#### [ Linux and macOS ]

   ```
   $ make install
   ```

------
#### [ Windows PowerShell ]

   ```
   PS C:\> C:\msys64\usr\bin\bash -lc "make install" 
   ```

   Setelah menginstal, tambahkan jalur ke AWS CLI menggunakan yang berikut ini:

   ```
   PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\"
   ```

------

   Untuk detail dan opsi pemasangan yang tersedia, lihat [Langkah 4: Memasang AWS CLI](#source-getting-started-install-instructions) bagian.

1. Konfirmasikan AWS CLI berhasil diinstal menggunakan perintah berikut:

   ```
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
   ```

   Untuk langkah-langkah pemecahan masalah untuk kesalahan penginstalan lihat bagian. [Memecahkan masalah kesalahan AWS CLI penginstalan dan uninstall](#source-install-tshoot)

## Langkah 1: Siapkan semua persyaratan
<a name="source-getting-started-install-reqs"></a>

Untuk membangun AWS CLI from source, Anda perlu yang berikut ini diselesaikan sebelumnya:

**catatan**  
Semua contoh kode diasumsikan berjalan dari root direktori sumber.

1. Unduh AWS CLI sumbernya dengan mem-forking AWS CLI GitHub repositori atau mengunduh tarball sumber. Instruksi adalah salah satu dari yang berikut:
   + Garpu dan kloning [AWS CLI repositori](https://github.com/aws/aws-cli) dari. *GitHub* Untuk informasi selengkapnya, lihat [Mem-fork repo](https://docs.github.com/en/get-started/quickstart/fork-a-repo) di *GitHub Docs*.
   + Unduh tarball sumber terbaru di [https://awscli.amazonaws.com/awscli.tar.gz](https://awscli.amazonaws.com/awscli.tar.gz) ekstrak konten menggunakan perintah berikut:

     ```
     $ curl "https://awscli.amazonaws.com/awscli.tar.gz" -o "awscli.tar.gz"
     $ tar -xzf awscli.tar.gz
     ```
**catatan**  
Untuk mengunduh versi tertentu, gunakan format tautan berikut: [https://awscli.amazonaws.com*versionnumber*/awscli-](https://awscli.amazonaws.com/awscli.tar.gz) .tar.gz   
[Misalnya, untuk versi 2.10.0 tautannya adalah sebagai berikut: https://awscli.amazonaws.com /awscli- .tar.gz *2.10.0*](https://awscli.amazonaws.com/awscli.tar.gz)  
Versi sumber tersedia dimulai dengan versi **2.10.0** dari versi. AWS CLI

     **(Opsional) Memverifikasi integritas file zip yang Anda unduh dengan menyelesaikan langkah-langkah berikut:**

     1. Anda dapat menggunakan langkah-langkah berikut untuk memverifikasi tanda tangan dengan menggunakan alat ini. `GnuPG`

        `.zip`File paket AWS CLI installer ditandatangani secara kriptografis menggunakan tanda tangan PGP. Jika ada kerusakan atau perubahan file, verifikasi ini gagal dan Anda tidak boleh melanjutkan dengan instalasi.

     1. Unduh dan instal `gpg` perintah menggunakan manajer paket Anda. Untuk informasi selengkapnya`GnuPG`, lihat situs web [GnuPG](https://www.gnupg.org/). 

     1. Untuk membuat file kunci publik, buat file teks dan tempel dalam teks berikut.

        ```
        -----BEGIN PGP PUBLIC KEY BLOCK-----
        
        mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUG
        ZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzx
        PqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5G
        TfNxEKJ8soPLyWmwDH6HWCnjZ/aIQRBTIQ05uVeEoYxSh6wOai7ss/KveoSNBbYz
        gbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grk
        C6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG
        94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWO
        lrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPG
        fYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywG
        EEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkX
        XDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQAB
        tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4CGwMF
        CwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQT7Xbd/1cEYuAURraimMQrMRnJHXAUC
        aGveYQUJDMpiLAAKCRCmMQrMRnJHXKBYD/9Ab0qQdGiO5hObchG8xh8Rpb4Mjyf6
        0JrVo6m8GNjNj6BHkSc8fuTQJ/FaEhaQxj3pjZ3GXPrXjIIVChmICLlFuRXYzrXc
        Pw0lniybypsZEVai5kO0tCNBCCFuMN9RsmmRG8mf7lC4FSTbUDmxG/QlYK+0IV/l
        uJkzxWa+rySkdpm0JdqumjegNRgObdXHAQDWlubWQHWyZyIQ2B4U7AxqSpcdJp6I
        S4Zds4wVLd1WE5pquYQ8vS2cNlDm4QNg8wTj58e3lKN47hXHMIb6CHxRnb947oJa
        pg189LLPR5koh+EorNkA1wu5mAJtJvy5YMsppy2y/kIjp3lyY6AmPT1posgGk70Z
        CmToEZ5rbd7ARExtlh76A0cabMDFlEHDIK8RNUOSRr7L64+KxOUegKBfQHb9dADY
        qqiKqpCbKgvtWlds909Ms74JBgr2KwZCSY1HaOxnIr4CY43QRqAq5YHOay/mU+6w
        hhmdF18vpyK0vfkvvGresWtSXbag7Hkt3XjaEw76BzxQH21EBDqU8WJVjHgU6ru+
        DJTs+SxgJbaT3hb/vyjlw0lK+hFfhWKRwgOXH8vqducF95NRSUxtS4fpqxWVaw3Q
        V2OWSjbne99A5EPEySzryFTKbMGwaTlAwMCwYevt4YT6eb7NmFhTx0Fis4TalUs+
        j+c7Kg92pDx2uQ==
        =OBAt
        -----END PGP PUBLIC KEY BLOCK-----
        ```

        Sebagai referensi, berikut ini adalah rincian kunci publik.

        ```
        Key ID:           A6310ACC4672
        Type:             RSA
        Size:             4096/4096
        Created:          2019-09-18
        Expires:          2026-07-07
        User ID:          AWS CLI Team <aws-cli@amazon.com>
        Key fingerprint:  FB5D B77F D5C1 18B8 0511  ADA8 A631 0ACC 4672 475C
        ```

     1. Impor kunci AWS CLI publik dengan perintah berikut, ganti *public-key-file-name* dengan nama file kunci publik yang Anda buat.

        ```
        $ gpg --import public-key-file-name
        gpg: /home/username/.gnupg/trustdb.gpg: trustdb created
        gpg: key A6310ACC4672475C: public key "AWS CLI Team <aws-cli@amazon.com>" imported
        gpg: Total number processed: 1
        gpg:               imported: 1
        ```

     1. Unduh file AWS CLI tanda tangan untuk paket yang Anda unduh di [https://awscli.amazonaws.com/awscli.tar.gz.sig](https://awscli.amazonaws.com/awscli.tar.gz.sig). Ini memiliki jalur dan nama yang sama dengan file tarball yang sesuai dengannya, tetapi memiliki ekstensi`.sig`. Simpan di jalur yang sama dengan file tarball. Atau gunakan blok perintah berikut:

        ```
        $ curl awscliv2.sig https://awscli.amazonaws.com/ -o awscli.tar.gz.sig
        ```

     1. Verifikasi tanda tangan, meneruskan nama yang diunduh `.sig` dan `.zip` file sebagai parameter ke `gpg` perintah.

        ```
        $ gpg --verify awscliv2.sig awscli.tar.gz
        ```

        Outputnya akan terlihat serupa dengan yang berikut ini:

        ```
        gpg: Signature made Mon Nov  4 19:00:01 2019 PST
        gpg:                using RSA key FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
        gpg: Good signature from "AWS CLI Team <aws-cli@amazon.com>" [unknown]
        gpg: WARNING: This key is not certified with a trusted signature!
        gpg:          There is no indication that the signature belongs to the owner.
        Primary key fingerprint: FB5D B77F D5C1 18B8 0511  ADA8 A631 0ACC 4672 475C
        ```
**penting**  
Peringatan dalam output diharapkan dan tidak menunjukkan masalah. Itu terjadi karena tidak ada rantai kepercayaan antara kunci PGP pribadi Anda (jika Anda memilikinya) dan kunci AWS CLI PGP. Untuk informasi selengkapnya, lihat [Web kepercayaan](https://wikipedia.org/wiki/Web_of_trust).

1. Anda memiliki lingkungan yang dapat menjalankan file [GNU Autotools](https://www.gnu.org/software/automake/faq/autotools-faq.html) yang dihasilkan seperti dan. `configure` `Makefile` File-file ini secara luas portabel di seluruh platform POSIX.

------
#### [ Linux and macOS ]

   Jika Autotools belum diinstal di lingkungan Anda atau Anda perlu memperbaruinya, ikuti petunjuk instalasi yang ditemukan di [Bagaimana cara menginstal Autotools (sebagai](https://www.gnu.org/software/automake/faq/autotools-faq.html#How-do-I-install-the-Autotools-_0028as-user_0029_003f) pengguna)? atau [Instalasi Dasar](https://www.gnu.org/savannah-checkouts/gnu/automake/manual/automake.html#Basic-Installation) dalam *dokumentasi GNU*.

------
#### [ Windows PowerShell ]

**Awas**  
Kami menyarankan jika Anda berada di lingkungan Windows, Anda menggunakan installer pra-dibangun. Untuk petunjuk pemasangan pada installer yang sudah dibuat sebelumnya, lihat [Menginstal atau memperbarui ke versi terbaru dari AWS CLI](getting-started-install.md)

   Karena Windows tidak dilengkapi dengan shell yang sesuai dengan POSIX, Anda perlu menginstal perangkat lunak tambahan untuk menginstal dari AWS CLI sumber. [MSYS2](https://www.msys2.org/)menyediakan kumpulan alat dan pustaka untuk membantu membangun dan menginstal perangkat lunak Windows, terutama untuk skrip berbasis POSIX yang digunakan Autotools.

   1. Instal MSYS2. Untuk informasi tentang menginstal dan menggunakan MSYS2, lihat [petunjuk pemasangan dan penggunaan](https://www.msys2.org/) di *MSYS2 Dokumentasi*. 

   1. Buka MSYS2 terminal dan instal autotools menggunakan perintah berikut.

      ```
      $ pacman -S autotools
      ```

**catatan**  
Saat menggunakan konfigurasi, bangun, dan instal contoh kode dalam panduan ini untuk Windows, jalur MSYS2 penginstalan default `C:\msys64\usr\bin\bash` diasumsikan. Saat memanggil MSYS2 bagian dalam PowerShell Anda akan menggunakan format berikut, dengan perintah bash dalam tanda kutip:  

   ```
   PS C:\> C:\msys64\usr\bin\bash  -lc "command example" 
   ```
Contoh perintah berikut memanggil `./configure` perintah.  

   ```
   PS C:\> C:\msys64\usr\bin\bash  -lc "./configure" 
   ```

------

1. Sebuah interpreter Python 3.8 atau yang lebih baru diinstal. Versi Python minimum yang diperlukan mengikuti garis waktu yang sama dengan kebijakan [dukungan Python](https://aws.amazon.com/blogs/developer/python-support-policy-updates-for-aws-sdks-and-tools/) resmi untuk dan Alat. AWS SDKs Penerjemah hanya didukung 6 bulan setelah end-of-support tanggalnya.

1. **(Opsional)** Instal semua dependensi pustaka Python build dan runtime dari file. AWS CLI`./configure`Perintah memberi tahu Anda jika Anda kehilangan dependensi dan cara menginstalnya.

   Anda dapat secara otomatis menginstal dan menggunakan dependensi ini melalui konfigurasi, lihat [Mengunduh dependensi](#source-getting-started-install-config-dependencies) untuk informasi lebih lanjut.

## Langkah 2: Mengkonfigurasi instalasi AWS CLI sumber
<a name="source-getting-started-install-config"></a>

Konfigurasi untuk membangun dan menginstal AWS CLI ditentukan menggunakan `configure` skrip. Untuk dokumentasi semua opsi konfigurasi, jalankan `configure` skrip dengan `--help` opsi:

------
#### [ Linux and macOS ]

```
$ ./configure --help
```

------
#### [ Windows PowerShell ]

```
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --help" 
```

------

**Topics**
+ [Instal lokasi](#source-getting-started-install-config-location)
+ [Penerjemah Python](#source-getting-started-install-config-interpreter)
+ [Mengunduh dependensi](#source-getting-started-install-config-dependencies)
+ [Tipe Instal](#source-getting-started-install-config-type)

### Instal lokasi
<a name="source-getting-started-install-config-location"></a>

Instalasi sumber AWS CLI menggunakan dua direktori yang dapat dikonfigurasi untuk menginstal: AWS CLI
+ `libdir`- Direktori induk tempat AWS CLI akan diinstal. Jalan menuju AWS CLI instalasi adalah`<libdir-value>/aws-cli`. `libdir`Nilai default untuk Linux dan macOS adalah `/usr/local/lib` membuat direktori instalasi default `/usr/local/lib/aws-cli` 
+ `bindir`- Direktori tempat AWS CLI executable diinstal. Lokasi default adalah `/usr/local/bin`. 

`configure`Opsi berikut mengontrol direktori yang digunakan:
+ `--prefix`- Menetapkan awalan direktori untuk digunakan untuk instalasi. Nilai default untuk Linux dan macOS adalah. `/usr/local` 
+ `--libdir`- Mengatur `libdir` untuk digunakan untuk menginstal AWS CLI. Nilai default-nya adalah `<prefix-value>/lib`. Jika `--prefix` keduanya `--libdir` dan tidak ditentukan, default untuk Linux dan macOS adalah. `/usr/local/lib/` 
+ `--bindir`- Menetapkan `bindir` untuk digunakan untuk menginstal AWS CLI `aws` dan `aws_completer` executable. Nilai default-nya adalah `<prefix-value>/bin`. Jika `--prefix` keduanya `bindir` dan tidak ditentukan, default untuk Linux dan macOS adalah. `/usr/local/bin/` 

------
#### [ Linux and macOS ]

Contoh perintah berikut menggunakan `--prefix` opsi untuk melakukan instalasi pengguna lokal dari AWS CLI. Perintah ini menginstal AWS CLI in `$HOME/.local/lib/aws-cli` dan executable di: `$HOME/.local/bin`

```
$ ./configure --prefix=$HOME/.local
```

Contoh perintah berikut menggunakan `--libdir` opsi untuk menginstal AWS CLI sebagai aplikasi add-on di `/opt` direktori. Perintah ini menginstal AWS CLI at `/opt/aws-cli` dan executable di lokasi default mereka. `/usr/local/bin`

```
$ ./configure --libdir=/opt
```

------
#### [ Windows PowerShell ]

Contoh perintah berikut menggunakan `--prefix` opsi untuk melakukan instalasi pengguna lokal dari AWS CLI. Perintah ini menginstal AWS CLI in `$HOME/.local/lib/aws-cli` dan executable di: `$HOME/.local/bin`

```
$ C:\msys64\usr\bin\bash -lc "./configure --prefix='C:\Program Files\AWSCLI'" 
```

Contoh perintah berikut menggunakan `--libdir` opsi untuk menginstal AWS CLI sebagai aplikasi add-on di `/opt` direktori. Perintah ini menginstal AWS CLI at`C:\Program Files\AWSCLI\opt\aws-cli`.

------

### Penerjemah Python
<a name="source-getting-started-install-config-interpreter"></a>

**catatan**  
Sangat disarankan untuk menentukan interpreter Python saat menginstal untuk Windows.

`./configure`Skrip secara otomatis memilih penerjemah Python 3.8 atau yang lebih baru yang diinstal untuk digunakan dalam membangun dan menjalankan AWS CLI menggunakan makro Autoconf. [https://www.gnu.org/software/automake/manual/html_node/Python.html](https://www.gnu.org/software/automake/manual/html_node/Python.html)

Penerjemah Python yang akan digunakan dapat diatur secara eksplisit menggunakan variabel `PYTHON` lingkungan saat menjalankan skrip: `configure`

------
#### [ Linux and macOS ]

```
$ PYTHON=/path/to/python ./configure
```

------
#### [ Windows PowerShell ]

```
PS C:\> C:\msys64\usr\bin\bash -lc "PYTHON='C:\path\to\python' ./configure"
```

------

### Mengunduh dependensi
<a name="source-getting-started-install-config-dependencies"></a>

Secara default, semua dependensi build dan runtime diperlukan AWS CLI sudah diinstal pada sistem. Ini termasuk dependensi pustaka Python. Semua dependensi diperiksa saat `configure` skrip dijalankan, dan jika sistem kehilangan dependensi Python, skrip akan hilang. `configure` 

Contoh kode berikut error saat sistem Anda kehilangan dependensi:

------
#### [ Linux and macOS ]

```
$ ./configure 
checking for a Python interpreter with version >= 3.8... python
checking for python... /Users/username/.envs/env3.11/bin/python
checking for python version... 3.11
checking for python platform... darwin
checking for GNU default python prefix... ${prefix}
checking for GNU default python exec_prefix... ${exec_prefix}
checking for python script directory (pythondir)... ${PYTHON_PREFIX}/lib/python3.11/site-packages
checking for python extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/lib/python3.11/site-packages
checking for --with-install-type... system-sandbox
checking for --with-download-deps... Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 125, in <module>
    main()
  File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 121, in main
    parsed_args.func(parsed_args)
  File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 49, in validate
    validate_env(parsed_args.artifact)
  File "/Users/username/aws-code/aws-cli/./backends/build_system/validate_env.py", line 68, in validate_env
    raise UnmetDependenciesException(unmet_deps, in_venv)
validate_env.UnmetDependenciesException: Environment requires following Python dependencies:

awscrt (required: ('>=0.12.4', '<0.17.0')) (version installed: None)

We recommend using --with-download-deps flag to automatically create a virtualenv and download the dependencies.

If you want to manage the dependencies yourself instead, run the following pip command:
/Users/username/.envs/env3.11/bin/python -m pip install --prefer-binary 'awscrt>=0.12.4,<0.17.0'

configure: error: "Python dependencies not met."
```

------
#### [ Windows PowerShell ]

```
PS C:\> C:\msys64\usr\bin\bash -lc "./configure" 
checking for a Python interpreter with version >= 3.8... python
checking for python... /Users/username/.envs/env3.11/bin/python
checking for python version... 3.11
checking for python platform... darwin
checking for GNU default python prefix... ${prefix}
checking for GNU default python exec_prefix... ${exec_prefix}
checking for python script directory (pythondir)... ${PYTHON_PREFIX}/lib/python3.11/site-packages
checking for python extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/lib/python3.11/site-packages
checking for --with-install-type... system-sandbox
checking for --with-download-deps... Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 125, in <module>
    main()
  File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 121, in main
    parsed_args.func(parsed_args)
  File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 49, in validate
    validate_env(parsed_args.artifact)
  File "/Users/username/aws-code/aws-cli/./backends/build_system/validate_env.py", line 68, in validate_env
    raise UnmetDependenciesException(unmet_deps, in_venv)
validate_env.UnmetDependenciesException: Environment requires following Python dependencies:

awscrt (required: ('>=0.12.4', '<0.17.0')) (version installed: None)

We recommend using --with-download-deps flag to automatically create a virtualenv and download the dependencies.

If you want to manage the dependencies yourself instead, run the following pip command:
/Users/username/.envs/env3.11/bin/python -m pip install --prefer-binary 'awscrt>=0.12.4,<0.17.0'

configure: error: "Python dependencies not met."
```

------

Untuk menginstal dependensi Python yang diperlukan secara otomatis, gunakan opsi. `--with-download-deps` Saat menggunakan flag ini, proses build melakukan hal berikut:
+ Melewati pemeriksaan dependensi pustaka Python. 
+ Mengonfigurasi pengaturan untuk mengunduh semua dependensi Python yang diperlukan dan hanya **menggunakan** dependensi yang diunduh untuk membangun selama pembuatan. AWS CLI `make`

Contoh perintah konfigurasi berikut menggunakan `--with-download-deps` opsi untuk mengunduh dan menggunakan dependensi Python:

------
#### [ Linux and macOS ]

```
$ ./configure --with-download-deps
```

------
#### [ Windows PowerShell ]

```
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --with-download-deps"
```

------

### Tipe Instal
<a name="source-getting-started-install-config-type"></a>

Proses instalasi sumber mendukung jenis instalasi berikut:
+ `system-sandbox`- **(Default)** Menciptakan lingkungan virtual Python yang terisolasi, menginstal AWS CLI ke dalam lingkungan virtual, dan symlink ke dan dapat `aws_completer` dieksekusi di `aws` lingkungan virtual. Instalasi ini AWS CLI bergantung langsung pada penerjemah Python yang dipilih untuk runtime-nya.

  Ini adalah mekanisme instalasi ringan untuk menginstal sistem dan mengikuti praktik Python terbaik dengan melakukan sandboxing instalasi di lingkungan virtual. AWS CLI Instalasi ini ditujukan untuk pelanggan yang ingin menginstal AWS CLI from source dengan cara yang paling mudah dengan instalasi yang digabungkan dengan instalasi Python Anda.
+ `portable-exe`- Membekukan AWS CLI ke dalam executable mandiri yang dapat didistribusikan ke lingkungan arsitektur serupa. Ini adalah proses yang sama yang digunakan untuk menghasilkan executable pra-built resmi dari. AWS CLI`portable-exe`Pembekuan dalam salinan penerjemah Python yang dipilih dalam langkah `configure` yang akan digunakan untuk runtime. AWS CLI Hal ini memungkinkan untuk dipindahkan ke mesin lain yang mungkin tidak memiliki penerjemah Python. 

  Jenis build ini berguna karena Anda dapat memastikan AWS CLI instalasi Anda tidak digabungkan ke versi Python yang diinstal lingkungan dan Anda dapat mendistribusikan build ke sistem lain yang mungkin belum menginstal Python. Ini memungkinkan Anda untuk mengontrol dependensi dan keamanan pada AWS CLI executable yang Anda gunakan.

Untuk mengkonfigurasi jenis instalasi, gunakan `--with-install-type` opsi dan tentukan nilai `portable-exe` atau`system-sandbox`. 

Contoh `./configure` perintah berikut menentukan nilai: `portable-exe`

------
#### [ Linux and macOS ]

```
$ ./configure --with-install-type=portable-exe
```

------
#### [ Windows PowerShell ]

```
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --with-install-type=portable-exe"
```

------

## Langkah 3: Membangun AWS CLI
<a name="source-getting-started-install-build"></a>

Gunakan `make` perintah untuk membangun AWS CLI menggunakan pengaturan konfigurasi Anda:

------
#### [ Linux and macOS ]

```
$ make
```

------
#### [ Windows PowerShell ]

```
PS C:\> C:\msys64\usr\bin\bash -lc "make"
```

------

**catatan**  
Lingkungan virtual dibuat di direktori build menggunakan modul Python [https://docs.python.org/3/library/venv.html](https://docs.python.org/3/library/venv.html). Lingkungan virtual di-bootstrap dengan [versi pip yang dijual di pustaka standar Python](https://docs.python.org/3/library/ensurepip.html). 
Menyalin dependensi pustaka Python. Bergantung pada apakah `--with-download-deps` bendera ditentukan dalam `configure` perintah, langkah ini melakukan salah satu hal berikut:  
Yang `--with-download-deps` **ditentukan**. Dependensi Python diinstal pip. Ini termasuk`wheel`,`setuptools`, dan semua dependensi AWS CLI runtime. Jika Anda sedang membangun`portable-exe`, `pyinstaller` diinstal. Persyaratan ini semua ditentukan dalam file kunci yang dihasilkan dari [https://github.com/jazzband/pip-tools](https://github.com/jazzband/pip-tools). 
`--with-download-deps`**Tidak** ditentukan. Pustaka Python dari paket situs penerjemah Python ditambah skrip apa pun (misalnya`pyinstaller`) disalin ke lingkungan virtual yang digunakan untuk build.
Berjalan `pip install` langsung di AWS CLI basis kode untuk melakukan pembuatan dan pemasangan offline di pohon AWS CLI ke dalam lingkungan virtual build. [Instalasi ini menggunakan bendera pip [-- no-build-isolation ](https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-no-build-isolation), [--use-feature=, - in-tree-build ](https://pip.pypa.io/en/stable/cli/pip_install/#local-project-installs) -, dan. no-cache-dir [https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-no-index](https://pip.pypa.io/en/stable/cli/pip_install/#cmdoption-no-index)](https://pip.pypa.io/en/stable/cli/pip_install/#caching)
**(Opsional)** Jika `--install-type` diatur ke `portable-exe` dalam `configure` perintah, membangun executable mandiri menggunakan. [https://www.pyinstaller.org/](https://www.pyinstaller.org/) 

## Langkah 4: Memasang AWS CLI
<a name="source-getting-started-install-instructions"></a>

`make install`Perintah menginstal bawaan Anda AWS CLI ke lokasi yang dikonfigurasi pada sistem. 

------
#### [ Linux and macOS ]

Contoh perintah berikut menginstal AWS CLI menggunakan konfigurasi dan pengaturan build Anda:

```
$ make install
```

------
#### [ Windows PowerShell ]

Contoh perintah berikut menginstal AWS CLI menggunakan konfigurasi dan pengaturan build Anda, lalu menambahkan variabel lingkungan dengan jalur untuk: AWS CLI

```
PS C:\> C:\msys64\usr\bin\bash -lc " make install "
PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\"
```

------

`make install`Aturan mendukung [https://www.gnu.org/software/make/manual/html_node/DESTDIR.html#DESTDIR](https://www.gnu.org/software/make/manual/html_node/DESTDIR.html#DESTDIR)variabel. Ketika ditentukan, variabel ini mengawali jalur yang ditentukan ke jalur instalasi yang sudah dikonfigurasi saat menginstal. AWS CLI Secara default, tidak ada nilai yang ditetapkan untuk variabel ini. 

------
#### [ Linux and macOS ]

Contoh kode berikut menggunakan `--prefix=/usr/local` bendera untuk mengkonfigurasi lokasi penginstalan, dan kemudian mengubah tujuan yang digunakan `DESTDIR=/tmp/stage` untuk perintah. `make install` Perintah-perintah ini menghasilkan AWS CLI yang diinstal di `/tmp/stage/usr/local/lib/aws-cli` dan executable yang terletak di. `/tmp/stage/usr/local/bin`

```
$ ./configure --prefix=/usr/local
$ make
$ make DESTDIR=/tmp/stage install
```

------
#### [ Windows PowerShell ]

Contoh kode berikut menggunakan `--prefix=\awscli` bendera untuk mengkonfigurasi lokasi penginstalan, dan kemudian mengubah tujuan yang digunakan `DESTDIR=C:\Program Files` untuk perintah. `make install` Perintah-perintah ini menghasilkan AWS CLI yang diinstal di`C:\Program Files\awscli`.

```
$ ./configure --prefix=\awscli
$ make
$ make DESTDIR='C:\Program Files' install
```

------

**catatan**  
Memindahkan salah satu dari berikut ini ke direktori penginstalan yang dikonfigurasi:  
Jika jenis instalasinya`system-sandbox`, pindahkan lingkungan virtual bawaan Anda. 
Jika tipe penginstalan adalah a`portable-exe`, pindahkan executable mandiri bawaan Anda. 
Membuat symlink untuk kedua `aws` dan `aws_completer` executable di direktori bin dikonfigurasi Anda. 

## Langkah 5: Memverifikasi AWS CLI instalasi
<a name="source-getting-started-install-verify"></a>

Konfirmasikan AWS CLI berhasil diinstal dengan menggunakan perintah berikut:

```
$ aws --version
aws-cli/2.27.41 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
```

Jika `aws` perintah tidak dikenali, Anda mungkin perlu me-restart terminal Anda agar symlink baru dapat diperbarui. Jika Anda menemukan masalah tambahan setelah menginstal atau menghapus instalasi AWS CLI, lihat [Memecahkan masalah kesalahan untuk AWS CLI](cli-chap-troubleshooting.md) langkah-langkah pemecahan masalah umum

## Contoh alur kerja
<a name="source-getting-started-install-workflows"></a>

Bagian ini memberikan beberapa contoh alur kerja dasar untuk menginstal dari sumber.

### Instalasi dasar Linux dan macOS
<a name="source-getting-started-install-workflows-basic"></a>

Contoh berikut adalah alur kerja instalasi dasar di AWS CLI mana diinstal di lokasi default. `/usr/local/lib/aws-cli` 

```
$ cd path/to/cli/respository/
$ ./configure
$ make
$ make install
```

### Instalasi Windows otomatis
<a name="source-getting-started-install-workflows-win"></a>

**catatan**  
Anda harus menjalankan PowerShell sebagai Administrator untuk menggunakan alur kerja ini.

MSYS2 dapat digunakan secara otomatis dalam pengaturan CI, lihat [Menggunakan MSYS2 di CI di MSYS2 ](https://www.msys2.org/docs/ci/) *Dokumentasi*. 

------
#### [ Downloaded Tarball ]

Unduh `awscli.tar.gz` file, ekstrak, dan instal file AWS CLI. Saat menggunakan perintah berikut, ganti jalur berikut:
+ `C:\msys64\usr\bin\bash`dengan lokasi MSYS2 jalan Anda.
+ `.\awscli-2.x.x\`dengan nama `awscli.tar.gz` folder yang diekstraksi.
+ `PYTHON='C:\path\to\python.exe'`dengan jalur Python lokal Anda.

Contoh kode berikut mengotomatiskan membangun dan menginstal AWS CLI from PowerShell using MSYS2, dan menentukan instalasi lokal Python mana yang akan digunakan:

```
PS C:\> curl "https://awscli.amazonaws.com/awscli.tar.gz" -o "awscliv2.zip"  #  Download the awscli.tar.gz file in the current working directory
PS C:\> tar -xvzf .\awscli.tar.gz #  Extract awscli.tar.gz file
PS C:\> cd .\awscli-2.x.x\ #  Navigate to the root of the extracted files
PS C:\> $env:CHERE_INVOKING = 'yes' #  Preserve the current working directory
PS C:\> C:\msys64\usr\bin\bash  -lc " PYTHON='C:\path\to\python.exe' ./configure --prefix='C:\Program Files\AWSCLI' --with-download-deps " 
PS C:\> C:\msys64\usr\bin\bash  -lc "make"
PS C:\> C:\msys64\usr\bin\bash  -lc "make install"
PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\"
PS C:\> aws --version
aws-cli/2.27.41 Python/3.11.6 Windows/10 source-sandbox/AMD64
```

------
#### [ GitHub Repository ]

Unduh `awscli.tar.gz` file, ekstrak, dan instal file AWS CLI. Saat menggunakan perintah berikut, ganti jalur berikut:
+ `C:\msys64\usr\bin\bash`dengan lokasi MSYS2 jalan Anda.
+ `C:path\to\cli\repository\`dengan jalur ke [AWS CLI repositori](https://github.com/aws/aws-cli) kloning Anda dari. *GitHub* *Untuk informasi selengkapnya, lihat [Mem-fork repo di Docs](https://docs.github.com/en/get-started/quickstart/fork-a-repo) GitHub *
+ `PYTHON='C:\path\to\python.exe'`dengan jalur Python lokal Anda.

Contoh kode berikut mengotomatiskan membangun dan menginstal AWS CLI from PowerShell using MSYS2, dan menentukan instalasi lokal Python mana yang akan digunakan:

```
PS C:\> cd C:path\to\cli\repository\
PS C:\> $env:CHERE_INVOKING = 'yes' #  Preserve the current working directory
PS C:\> C:\msys64\usr\bin\bash  -lc " PYTHON='C:\path\to\python.exe' ./configure --prefix='C:\Program Files\AWSCLI' --with-download-deps " 
PS C:\> C:\msys64\usr\bin\bash  -lc "make"
PS C:\> C:\msys64\usr\bin\bash  -lc "make install"
PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\"
PS C:\> aws --version
```

------

### Wadah Alpine Linux
<a name="source-getting-started-install-workflows-alpine"></a>

Di bawah ini adalah contoh Dockerfile yang dapat digunakan untuk mendapatkan instalasi kerja AWS CLI dalam wadah Alpine Linux sebagai [alternatif binari pra-bangun untuk](https://github.com/aws/aws-cli/issues/4685) Alpine. Saat menggunakan contoh ini, ganti *AWSCLI\$1VERSION* dengan nomor AWS CLI versi yang Anda inginkan:

```
 1. FROM python:3.8-alpine AS builder
 2. 
 3. ENV AWSCLI_VERSION=2.10.1
 4. 
 5. RUN apk add --no-cache \
 6.     curl \
 7.     make \
 8.     cmake \
 9.     gcc \
10.     g++ \
11.     libc-dev \
12.     libffi-dev \
13.     openssl-dev \
14.     && curl https://awscli.amazonaws.com/awscli-${AWSCLI_VERSION}.tar.gz | tar -xz \
15.     && cd awscli-${AWSCLI_VERSION} \
16.     && ./configure --prefix=/opt/aws-cli/ --with-download-deps \
17.     && make \
18.     && make install
19. 
20. FROM python:3.8-alpine
21. 
22. RUN apk --no-cache add groff
23. 
24. COPY --from=builder /opt/aws-cli/ /opt/aws-cli/
25. 
26. ENTRYPOINT ["/opt/aws-cli/bin/aws"]
```

Gambar ini dibuat dan AWS CLI dipanggil dari wadah yang mirip dengan yang dibangun di Amazon Linux 2:

```
$ docker build --tag awscli-alpine .
$ docker run --rm -it awscli-alpine --version
aws-cli/2.2.1 Python/3.8.11 Linux/5.10.25-linuxkit source-sandbox/x86_64.alpine.3 prompt/off
```

Ukuran akhir gambar ini lebih kecil dari ukuran gambar AWS CLI Docker resmi. Untuk informasi tentang gambar Docker resmi, lihat[Menjalankan gambar Amazon ECR Public atau Docker resmi untuk AWS CLI](getting-started-docker.md).

## Memecahkan masalah kesalahan AWS CLI penginstalan dan uninstall
<a name="source-install-tshoot"></a>

Untuk langkah pemecahan masalah kesalahan penginstalan, lihat [Memecahkan masalah kesalahan untuk AWS CLI](cli-chap-troubleshooting.md) langkah-langkah pemecahan masalah umum. Untuk langkah pemecahan masalah yang paling relevan, lihat, [Perintah tidak ditemukan kesalahan](cli-chap-troubleshooting.md#tshoot-install-not-found)[Perintah `aws --version` "" mengembalikan versi yang berbeda dari yang Anda instal](cli-chap-troubleshooting.md#tshoot-install-wrong-version), dan. [Perintah `aws --version` "" mengembalikan versi setelah mencopot pemasangan AWS CLI](cli-chap-troubleshooting.md#tshoot-uninstall-1)

Untuk masalah apa pun yang tidak tercakup dalam panduan pemecahan masalah, cari masalah dengan `source-distribution` label di [AWS CLI Repositori](https://github.com/aws/aws-cli/labels/source-distribution) aktif. *GitHub* Jika tidak ada masalah yang menutupi kesalahan Anda, [buat masalah baru](https://github.com/aws/aws-cli/issues/new?assignees=&labels=source-distribution%2Cneeds-triage&template=source-distribution.yml&title=%28short+issue+description%29) untuk menerima bantuan dari AWS CLI pengelola.

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

Setelah menginstal AWS CLI, Anda harus melakukan[Menyiapkan AWS CLI](getting-started-quickstart.md).