

# 安装 AWS CLI 版本 2 的过去发行版
<a name="getting-started-version"></a>

本主题介绍如何在受支持的操作系统上安装 AWS Command Line Interface 版本 2 (AWS CLI)的过去发行版。有关 AWS CLI 版本 2 的发行信息，请参阅 GitHub 上的 [AWS CLI 版本 2 更改日志](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst)。

AWS CLI 版本 2 安装说明：

## Linux
<a name="versioned-linux"></a>

### 安装要求
<a name="versioned-linux-reqs"></a>
+ 您了解需要安装 AWS CLI 版本 2 的哪个发行版。有关版本列表，请参阅 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 版本 2 更改日志*。
+ 您必须能够提取或“解压缩”下载的程序包。如果您的操作系统没有内置的 `unzip` 命令，请使用等效命令。
+ AWS CLI 版本 2 使用 `glibc`、`groff` 和 `less`。默认情况下，它们都包含在 Linux 的大多数主要发行版中。
+ 我们在最近发行的 CentOS、Fedora、Ubuntu、Amazon Linux 1、Amazon Linux 2 和 Linux ARM 的 64 位版本上支持 AWS CLI 版本 2。
+ 由于 AWS 不维护第三方存储库，因此我们不能保证它们包含最新版本的 AWS CLI。

### 安装说明
<a name="versioned-linux-instructions"></a>

请在 Linux 上从命令行执行以下步骤来安装 AWS CLI。

我们根据您是使用 64 位 Linux 还是 Linux ARM，在一个易于复制和粘贴的组中提供步骤。请参阅以下步骤中每一行的描述。

------
#### [ Linux x86 (64-bit) ]

**注意**  
**（可选）**以下命令块无需先验证下载内容的完整性即可下载和安装 AWS CLI。要验证下载内容的完整性，请使用以下分步说明。

 有关版本列表，请参阅 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 版本 2 更改日志*。

**要安装** AWS CLI，请运行以下命令。

要指定一个版本，请在文件名后附加一个连字符和版本号。在本示例中，版本 *2.0.30* 的文件名为 `awscli-exe-linux-x86_64-2.0.30.zip`，这会生成以下命令：

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
```

**要更新 AWS CLI 的当前安装**，请添加现有的符号链接和安装程序信息，以使用 `--bin-dir`、`--install-dir` 和 `--update` 参数构造 `install` 命令。以下命令块使用示例符号链接 */usr/local/bin* 和示例安装位置 */usr/local/aws-cli*。

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
```

------
#### [ Linux ARM ]

**注意**  
**（可选）**以下命令块无需先验证下载内容的完整性即可下载和安装 AWS CLI。要验证下载内容的完整性，请使用以下分步说明。

 有关版本列表，请参阅 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 版本 2 更改日志*。

**要安装** AWS CLI，请运行以下命令。

要指定一个版本，请在文件名后附加一个连字符和版本号。在本示例中，版本 *2.0.30* 的文件名为 `awscli-exe-linux-aarch64-2.0.30.zip`，这会生成以下命令：

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
```

**要更新 AWS CLI 的当前安装**，请添加现有的符号链接和安装程序信息，以使用 `--bin-dir`、`--install-dir` 和 `--update` 参数构造 `install` 命令。以下命令块使用示例符号链接 */usr/local/bin* 和示例安装位置 */usr/local/aws-cli*。

```
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
```

------

1. 通过以下方式之一下载安装文件：

------
#### [ Linux x86 (64-bit) ]
   + **使用 `curl` 命令** – `-o` 选项指定下载的程序包应写入的文件名。以下示例命令中使用的选项将下载的文件以本地名称 `awscliv2.zip` 写入到当前目录中。

     要指定一个版本，请在文件名后附加一个连字符和版本号。在本示例中，版本 *2.0.30* 的文件名为 `awscli-exe-linux-x86_64-2.0.30.zip`，这会生成以下命令：

     ```
     $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip" -o "awscliv2.zip"
     ```

      有关版本列表，请参阅 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 版本 2 更改日志*。
   + **从 URL 下载** – 

     在浏览器中，通过在文件名后附加一个连字符和版本号来下载特定版本的 AWS CLI。

     ```
     https://awscli.amazonaws.com/awscli-exe-linux-x86_64-version.number.zip
     ```

     在本示例中，版本 *2.0.30* 的文件名为 awscli-exe-linux-x86\$164-2.0.30.zip，这会生成以下链接：[https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip](https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip)

------
#### [ Linux ARM ]
   + **使用 `curl` 命令** – `-o` 选项指定下载的程序包应写入的文件名。以下示例命令中使用的选项将下载的文件以本地名称 `awscliv2.zip` 写入到当前目录中。

     要指定一个版本，请在文件名后附加一个连字符和版本号。在本示例中，版本 *2.0.30* 的文件名为 `awscli-exe-linux-aarch64-2.0.30.zip`，这会生成以下命令：

     ```
     $ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip" -o "awscliv2.zip"
     unzip awscliv2.zip
     sudo ./aws/install
     ```
   + **从 URL 下载** – 

     在浏览器中，通过在文件名后附加一个连字符和版本号来下载特定版本的 AWS CLI。

     ```
     https://awscli.amazonaws.com/awscli-exe-linux-aarch64-version.number.zip
     ```

     在本示例中，版本 *2.0.30* 的文件名为 `awscli-exe-linux-aarch64-2.0.30.zip`，这会生成以下链接：[https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip](https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip)

------

1. **（可选）验证下载的 zip 文件的完整性**

   如果已在上述步骤中选择手动下载 AWS CLI 安装程序包 `.zip`，则可以通过以下步骤使用 `GnuPG` 工具验证签名。

   AWS CLI 安装程序包 `.zip` 文件是使用 PGP 签名进行加密签名的。如果文件有任何损坏或更改，则此验证失败，您不应继续安装。

   1. 使用您的程序包管理器下载并安装 `gpg` 命令。有关 `GnuPG` 的更多信息，请参阅 [GnuPG 网站](https://www.gnupg.org/)。

   1. 要创建公有密钥文件，请创建一个文本文件并粘贴到以下文本中。

      ```
      -----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-----
      ```

      以下是公有密钥的详细信息以供参考。

      ```
      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. 使用以下命令导入 AWS CLI 公有密钥，用您创建的公有密钥的文件名替换 *public-key-file-name*。

      ```
      $ 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. 下载您下载的程序包的 AWS CLI 签名文件。它具有与其对应的 `.zip` 文件相同的路径和名称，但扩展名为 `.sig`。在以下示例中，我们将其作为名为 `awscliv2.sig` 的文件保存到当前目录中。

------
#### [ Linux x86 (64-bit) ]

      **对于最新版本的 AWS CLI，**请使用以下命令块：

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip.sig
      ```

      **对于特定版本的 AWS CLI，**在文件名后附加一个连字符和版本号。在本示例中，版本 *2.0.30* 的文件名为 `awscli-exe-linux-x86_64-2.0.30.zip.sig`，这会生成以下命令：

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-x86_64-2.0.30.zip.sig
      ```

       有关版本列表，请参阅 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 版本 2 更改日志*。

------
#### [ Linux ARM ]

      **对于最新版本的 AWS CLI，**请使用以下命令块：

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip.sig
      ```

      **对于特定版本的 AWS CLI，**在文件名后附加一个连字符和版本号。在本示例中，版本 *2.0.30* 的文件名为 `awscli-exe-linux-aarch64-2.0.30.zip.sig`，这会生成以下命令：

      ```
      $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli-exe-linux-aarch64-2.0.30.zip.sig
      ```

       有关版本列表，请参阅 [GitHub](https://github.com/aws/aws-cli/blob/v2/CHANGELOG.rst?plain=1) 上的 *AWS CLI 版本 2 更改日志*。

------

   1. 验证签名，并将下载的 `.sig` 和 `.zip` 文件名作为参数传递给 `gpg` 命令。

      ```
      $ gpg --verify awscliv2.sig awscliv2.zip
      ```

      该输出值应该类似于以下内容。

      ```
      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
      ```
**重要**  
输出中的警告是预料中的，并不表示出现了问题。之所以出现此警告，是因为您的个人 PGP 密钥（如果您有）和 AWS CLI PGP 密钥之间没有信任链。有关更多信息，请参阅[信任 Web](https://en.wikipedia.org/wiki/Web_of_trust)。

1. 解压缩安装程序。如果您的 Linux 发行版没有的内置 `unzip` 命令，请使用等效的命令对其解压缩。以下示例命令解压缩程序包并在当前目录下创建一个名为 `aws` 的目录。

   ```
   $ unzip awscliv2.zip
   ```

1. 运行安装程序。安装命令在新解压缩的 `install` 目录中使用一个名为 `aws` 的文件。默认情况下，文件全部安装到 `/usr/local/aws-cli` 并在 `/usr/local/bin` 中创建符号链接。该命令包括 `sudo` 以授予对这些目录的写入权限。

   ```
   $ sudo ./aws/install
   ```

   如果您指定您已经具有写入权限的目录，则可以不带 `sudo` 进行安装。对于 `install` 命令，请按以下说明指定安装位置：
   + 确保您提供给 `-i` 和 `-b` 参数的路径不包含任何含空格字符或其他空白字符的卷名称或目录名称。如果有空格，安装将失败。
   + `--install-dir` 或 `-i` – 此选项指定要将所有文件复制到的目录。

     原定设置值为 `/usr/local/aws-cli`。
   + `--bin-dir` 或 `-b` – 此选项指定安装目录中的主 `aws` 程序通过符号链接指向指定路径中的 `aws` 文件。您必须具有对指定目录的写入权限。创建指向路径中已经存在的目录的符号链接后，无需再将安装目录添加到用户的 `$PATH` 变量中。

     原定设置值为 `/usr/local/bin`。

   ```
   $ ./aws/install -i /usr/local/aws-cli -b /usr/local/bin
   ```
**注意**  
要将当前安装的 AWS CLI 版本 2 更新到更新版本，请添加现有的符号链接和安装程序信息，以构造带 `--update` 参数的 `install` 命令。  

   ```
   $ sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
   ```
要查找现有的符号链接和安装目录，请执行以下步骤：  
使用 `which` 命令查找符号链接。这为您提供了与 `--bin-dir` 参数一起使用的路径。  

      ```
      $ which aws
      /usr/local/bin/aws
      ```
使用 `ls` 命令查找符号链接指向的目录。这为您提供了与 `--install-dir` 参数一起使用的路径。  

      ```
      $ ls -l /usr/local/bin/aws
      lrwxrwxrwx 1 ec2-user ec2-user 49 Oct 22 09:49 /usr/local/bin/aws -> /usr/local/aws-cli/v2/current/bin/aws
      ```

1. 通过以下命令确认此安装。

   ```
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64
   ```

   如果无法找到 `aws` 命令，您可能需要重新启动终端或按照[排查 AWS CLI 错误](cli-chap-troubleshooting.md)中的说明排除故障。

## macOS
<a name="versioned-macos"></a>

### 安装要求
<a name="versioned-macos-reqs"></a>
+ 您了解需要安装 AWS CLI 版本 2 的哪个发行版。有关版本列表，请参阅 [GitHub](https://github.com/aws/aws-cli/blob/v2/CHANGELOG.rst?plain=1) 上的 *AWS CLI 版本 2 更改日志*。
+ 我们在 Apple 支持的 64 位 macOS 版本上支持 AWS CLI 版本 2。
+ 由于 AWS 不维护第三方存储库，因此我们不能保证它们包含最新版本的 AWS CLI。

### 安装说明
<a name="versioned-macos-install"></a>

您可以通过以下方式在 macOS 上安装 AWS CLI 版本 2。

------
#### [ GUI installer ]

以下步骤演示如何使用标准 macOS 用户界面和浏览器安装或更新到 AWS CLI 版本 2 的最新版本。如果要更新到最新版本，请使用与当前版本所用的相同安装方法。

1. 在浏览器中，通过在文件名后附加一个连字符和版本号来下载特定版本的 AWS CLI。

   ```
   https://awscli.amazonaws.com/AWSCLIV2-version.number.pkg
   ```

   在本示例中，版本 *2.0.30* 的文件名为 `AWSCLIV2-2.0.30.pkg`，这会生成以下链接：[https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg](https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg)。

1. 运行下载的文件，然后按照屏幕上的说明进行操作。您可以选择通过以下方式安装 AWS CLI 版本 2：
   + **针对电脑上的所有用户（需要 `sudo`）**
     + 您可以安装到任何文件夹，或选择推荐的默认文件夹 `/usr/local/aws-cli`。
     + 安装程序会自动在 `/usr/local/bin/aws` 中创建一个符号链接，该链接指向您选择的安装文件夹中的主程序。
   + **仅针对当前用户（不需要 `sudo`）**
     + 您可以安装到具有写入权限的任何文件夹。
     + 由于具有标准用户权限，在安装程序完成后，您必须在命令提示符下使用以下命令在 `$PATH` 中手动创建指向 `aws` 和 `aws_completer` 程序的符号链接文件。如果 `$PATH` 包含您可以写入的文件夹，并且您将该文件夹指定为目标路径，则可以在不使用 `sudo` 的情况下运行以下命令。如果 `$PATH` 中没有可写入的文件夹，您必须在命令中使用 `sudo`，以获取写入指定目标文件夹的权限。符号链接的默认位置为 `/usr/local/bin/`。

       ```
       $ sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws
       $ sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
       ```
**注意**  
您可以在安装过程中的任意时刻按 **Cmd\$1L** 来查看安装的调试日志。这会打开一个日志窗格，让您能够筛选和保存日志。日志文件还会自动保存到 `/var/log/install.log`。

1. 要验证 Shell 是否可以在 `$PATH` 中找到并运行 `aws` 命令，请使用以下命令。

   ```
   $ which aws
   /usr/local/bin/aws 
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Darwin/23.3.0
   ```

   如果无法找到 `aws` 命令，您可能需要重新启动终端或按照[排查 AWS CLI 错误](cli-chap-troubleshooting.md)中的说明排除故障。

------
#### [ Command line installer - All users ]

如果您拥有 `sudo` 权限，则可以针对电脑上的所有用户安装 AWS CLI 版本 2。我们在一个易于复制和粘贴的组中提供步骤。请参阅以下步骤中每一行的描述。

对于特定版本的 AWS CLI，在文件名后附加一个连字符和版本号。在本示例中，版本 *2.0.30* 的文件名为 `AWSCLIV2-2.0.30.pkg`，这会生成以下命令：

```
$ curl "https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
```

1. 使用 `curl` 命令下载文件。`-o` 选项指定下载的程序包应写入的文件名。在此示例中，文件写入当前文件夹中的 `AWSCLIV2.pkg`。

   对于特定版本的 AWS CLI，在文件名后附加一个连字符和版本号。在本示例中，版本 *2.0.30* 的文件名为 `AWSCLIV2-2.0.30.pkg`，这会生成以下命令：

   ```
   $ curl "https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg" -o "AWSCLIV2.pkg"
   ```

    有关版本列表，请参阅 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 版本 2 更改日志*。

1. 运行标准 macOS `installer` 程序，同时将下载的 `.pkg` 文件指定为源。使用 `-pkg` 参数指定要安装的程序包的名称以及要将程序包安装到的驱动器的 `-target /` 参数。系统会将文件安装到 `/usr/local/aws-cli`，并自动在 `/usr/local/bin` 中创建符号链接。您必须在命令中使用 `sudo` 来授予对这些文件夹的写入权限。

   ```
   $ sudo installer -pkg ./AWSCLIV2.pkg -target /
   ```

   安装完成后，调试日志将写入到 `/var/log/install.log`。

1. 要验证 Shell 是否可以在 `$PATH` 中找到并运行 `aws` 命令，请使用以下命令。

   ```
   $ which aws
   /usr/local/bin/aws 
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Darwin/23.3.0
   ```

   如果无法找到 `aws` 命令，您可能需要重新启动终端或按照[排查 AWS CLI 错误](cli-chap-troubleshooting.md)中的说明排除故障。

------
#### [ Command line - Current user ]

1. 要指定将 AWS CLI 安装到哪个文件夹，必须创建 XML 文件。此文件是 XML 格式的文件，类似于以下示例。保持所显示的所有值不变，但必须将第 9 行中的 */Users/myusername* 路径替换为您要在其中安装 AWS CLI 版本 2 的文件夹的路径。*必须存在该文件夹，否则命令会失败。*此 XML 示例指示安装程序在文件夹 AWS CLI 中安装 `/Users/myusername`，并创建名为 `aws-cli` 的文件夹。

   ```
   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
   <plist version="1.0">
     <array>
       <dict>
         <key>choiceAttribute</key>
         <string>customLocation</string>
         <key>attributeSetting</key>
         <string>/Users/myusername</string>
         <key>choiceIdentifier</key>
         <string>default</string>
       </dict>
     </array>
   </plist>
   ```

1. 使用 `pkg` 命令下载 `curl` 安装程序。`-o` 选项指定下载的程序包应写入的文件名。在此示例中，文件写入当前文件夹中的 `AWSCLIV2.pkg`。

   对于特定版本的 AWS CLI，在文件名后附加一个连字符和版本号。在本示例中，版本 *2.0.30* 的文件名为 `AWSCLIV2-2.0.30.pkg`，这会生成以下命令：

   ```
   $ curl "https://awscli.amazonaws.com/AWSCLIV2-2.0.30.pkg" -o "AWSCLIV2.pkg"
   ```

    有关版本列表，请参阅 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 版本 2 更改日志*。

1. 使用以下选项运行标准 macOS `installer` 程序：
   + 使用 `-pkg` 参数指定要安装的程序包的名称。
   + 通过将 `-target` 参数设置为 `CurrentUserHomeDirectory`，指定*仅安装到当前用户*。
   + 在 `-applyChoiceChangesXML` 参数中指定您创建的 XML 文件的路径（相对于当前文件夹）和名称。

   以下示例在文件夹 AWS CLI 中安装 `/Users/myusername/aws-cli`。

   ```
   $ installer -pkg AWSCLIV2.pkg \
               -target CurrentUserHomeDirectory \
               -applyChoiceChangesXML choices.xml
   ```

1. 由于标准用户权限通常不允许写入 `$PATH` 中的文件夹，因此在此模式下，安装程序不会尝试将符号链接添加到 `aws` 和 `aws_completer` 程序中。要使 AWS CLI 正确运行，必须在安装程序完成后手动创建符号链接。如果 `$PATH` 包含您可以写入的文件夹，并且您将该文件夹指定为目标的路径，则可以在不使用 `sudo` 的情况下运行以下命令。如果 `$PATH` 中没有可写入的文件夹，您必须使用 `sudo`，以获取写入指定目标文件夹的权限。符号链接的默认位置为 `/usr/local/bin/`。

   ```
   $ sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws
   $ sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
   ```

   安装完成后，调试日志将写入到 `/var/log/install.log`。

1. 要验证 Shell 是否可以在 `$PATH` 中找到并运行 `aws` 命令，请使用以下命令。

   ```
   $ which aws
   /usr/local/bin/aws 
   $ aws --version
   aws-cli/2.27.41 Python/3.11.6 Darwin/23.3.0
   ```

   如果无法找到 `aws` 命令，您可能需要重新启动终端或按照[排查 AWS CLI 错误](cli-chap-troubleshooting.md)中的说明排除故障。

------

## Windows
<a name="versioned-windows"></a>

### 安装要求
<a name="versioned-windows-reqs"></a>
+ 您了解需要安装 AWS CLI 版本 2 的哪个发行版。有关版本列表，请参阅 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 版本 2 更改日志*。
+ 我们在 Microsoft 支持的 64 位 Windows 版本上支持 AWS CLI。
+ 安装软件的管理员权限

### 安装说明
<a name="versioned-windows-install"></a>

要在 Windows 上更新当前安装的 AWS CLI 版本 2，请在每次更新以覆盖以前版本时下载一个新的安装程序。AWS CLI 会定期更新。要查看最新版本的发布时间，请参阅 *GitHub* 上的 [AWS CLI 版本 2 更改日志](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst)。

1. 通过下列方式之一下载并运行适用于 Windows（64 位）的 AWS CLI MSI 安装程序：
   + **下载并运行 MSI 安装程序：**要为特定版本的 AWS CLI 创建下载链接，请在文件名后附加一个连字符和版本号。

     ```
     https://awscli.amazonaws.com/AWSCLIV2-version.number.msi
     ```

     在本示例中，版本 *2.0.30* 的文件名为 `AWSCLIV2-2.0.30.msi`，这会生成以下链接：[https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi](https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi)。
   + **使用 msiexec 命令：**您也可以通过将链接添加到 `msiexec` 命令来使用 MSI 安装程序。对于特定版本的 AWS CLI，在文件名后附加一个连字符和版本号。

     ```
     C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2-version.number.msi
     ```

     在本示例中，版本 *2.0.30* 的文件名为 `AWSCLIV2-2.0.30.msi`，这会生成以下链接：[https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi](https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi)。

     ```
     C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2-2.0.30.msi
     ```

     有关可与 `msiexec` 一起使用的各种参数，请参阅 *Microsoft Docs* 网站上的 [msiexec](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec)。

   有关版本列表，请参阅 [GitHub](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst) 上的 *AWS CLI 版本 2 更改日志*。

1. 要确认安装，请打开 **Start**（开始）菜单，搜索 `cmd` 以打开命令提示符窗口，然后在命令提示符处使用 `aws --version` 命令。

   ```
   C:\> aws --version
   aws-cli/2.27.41 Python/3.11.6 Windows/10 exe/AMD64 prompt/off
   ```

   如果 Windows 无法找到该程序，您可能需要关闭并重新打开命令提示符窗口以刷新该路径，按照[排查 AWS CLI 错误](cli-chap-troubleshooting.md)中的说明排除故障。

## AWS CLI 安装和卸载错误故障排除
<a name="getting-started-version-tshoot"></a>

如果您在安装或卸载 AWS CLI 后遇到问题，请参阅[排查 AWS CLI 错误](cli-chap-troubleshooting.md)以了解故障排除步骤。有关相关性最高的故障排除步骤，请参阅[找不到命令错误](cli-chap-troubleshooting.md#tshoot-install-not-found)、[“`aws --version`”命令返回的版本与您安装的版本不同](cli-chap-troubleshooting.md#tshoot-install-wrong-version)和[卸载 AWS CLI 后，“`aws --version`”命令返回一个版本](cli-chap-troubleshooting.md#tshoot-uninstall-1)。

## 后续步骤
<a name="getting-started-version-next"></a>

完成[使用 AWS CLI 版本 2 的先决条件](getting-started-prereqs.md)中的步骤并安装 AWS CLI 之后，您应执行[设置 AWS CLI](getting-started-quickstart.md)。