

# 安装或更新最新版本的 AWS CLI
<a name="getting-started-install"></a>

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

要安装 AWS CLI 的过去发行版，请参阅[安装 AWS CLI 版本 2 的过去发行版](getting-started-version.md)。有关卸载说明，请参阅[卸载 AWS CLI 版本 2](uninstall.md)。

**重要**  
AWS CLI 版本 1 和 2 使用相同的 `aws` 命令名称。如果您之前安装了 AWS CLI 版本 1，请参阅[AWS CLI 版本 2 的迁移指南](cliv2-migration.md)。

**Topics**
+ [AWS CLI 安装说明](#getting-started-install-instructions)
+ [AWS CLI 更新说明](#cli-update)
+ [AWS CLI 安装和卸载错误故障排除](#install-tshoot)
+ [后续步骤](#install-next-steps)

## AWS CLI 安装说明
<a name="getting-started-install-instructions"></a>

有关安装说明，请展开适用于操作系统的部分。

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

#### 安装要求
<a name="install-linux-prereqs"></a>
+ 您必须能够提取或“解压缩”下载的程序包。如果您的操作系统没有内置的 `unzip` 命令，请使用等效命令。
+ AWS CLI 使用 `glibc`、`groff` 和 `less`。默认情况下，它们都包含在 Linux 的大多数主要发行版中。
+ 我们在最近发行的 CentOS、Fedora、Ubuntu、Amazon Linux 1、Amazon Linux 2、Amazon Linux 2023 和 Linux ARM 的 64 位版本上支持 AWS CLI。
+ 由于 AWS 不维护除 `snap` 之外的第三方存储库，因此我们不能保证它们包含最新版本的 AWS CLI。

#### 安装 AWS CLI
<a name="install-linux-instructions"></a>

**警告**  
如果这是您第一次在 Amazon Linux 上进行更新，要安装 AWS CLI 的最新版本，必须使用以下命令卸载预安装的 `yum` 版本：  

```
$ sudo yum remove awscli
```
删除 AWS CLI 的 `yum` 安装之后，请按照下面的 Linux 安装说明进行操作。

您可以使用以下方法之一安装 AWS CLI：
+ **安装脚本**是安装 AWS CLI 的建议方式。要更新 AWS CLI，请参阅 [AWS CLI 更新说明](#cli-update)。
+ **命令行安装程序**是版本控制的好选择，因为您可以指定要安装的版本。此选项不会自动更新；要更新，请参阅 [AWS CLI 更新说明](#cli-update)。
+ **官方支持的 `snap` 软件包**是一个不错的选择，可以让最新版本的 AWS CLI 作为 snap 软件包自动更新。没有内置支持来选择 AWS CLI 次要版本，因此，如果您的团队需要固定版本，则这不是最佳安装方法。

------
#### [ Install script (recommended) ]

安装脚本只需一步即可下载、验证和安装适用于 Linux 的 AWS CLI。它适用于 Linux x86（64 位）和 Linux ARM，默认情况下会为当前用户安装。

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

```
$ curl -fsSL https://awscli.amazonaws.com/v2/install.sh | bash
```

**注意**  
默认情况下，脚本安装到 `$HOME/.local/share/aws-cli` 并在 `$HOME/.local/bin` 中创建符号链接。要安装到不同的位置，请在运行脚本之前设置 `$XDG_DATA_HOME` 和 `$XDG_BIN_HOME` 环境变量。

要改为针对所有用户进行安装（安装到 `/usr/local/aws-cli` 和 `/usr/local/bin`，需要运行 `sudo`），请将 `--system` 参数传递给脚本。

```
$ curl -fsSL https://awscli.amazonaws.com/v2/install.sh | sudo bash -s -- --system
```

有关选项的完整列表，请使用 `--help` 运行脚本。

```
$ curl -fsSL https://awscli.amazonaws.com/v2/install.sh | bash -s -- --help
```

要更新 AWS CLI，请参阅 [AWS CLI 更新说明](#cli-update)。

------
#### [ Command line installer - Linux x86 (64-bit) ]

请在 Linux 上从命令行执行以下步骤来安装 AWS CLI。要更新以这种方式创建的安装，请参阅 [AWS CLI 更新说明](#cli-update)，而不是重复这些步骤。

以下是提供基本安装的单个复制和粘贴组中的快速安装步骤。有关更多说明，请参阅以下步骤。

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

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

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

**安装步骤指南**

1. 通过以下方式之一下载安装文件：
   + **使用 `curl` 命令** – `-o` 选项指定下载的程序包应写入的文件名。以下示例命令中使用的选项将下载的文件以本地名称 `awscliv2.zip` 写入到当前目录中。

     ```
     $ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
     ```
   + **从 URL 下载**：要使用浏览器下载安装程序，请使用以下 URL：[https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip](https://awscli.amazonaws.com/awscli-exe-linux-x86_64.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
      akV0ygUJDqP4lQAKCRCmMQrMRnJHXFHjD/9eyZLYcKuQOlLvtqSDtUBiEZf6ZZjM
      i3ygYH8rJNtuToUH+HvSpe819urJCquXhDrlK6N+aqW0hCLtNABJG/vsafIgvIYJ
      hSGgpgtNnQyMV1jViRWqPjbouw8OkYKBThUfT1i2Y+wn58ifs6ODBCmTexWtXspA
      Si+Gt49xDOW0APmbOPnI+a4HJW6tVEo6MWS0WjzpiBayR3d1A4pt4YrPfSdDgpLo
      h2SLQqlRqvvVZJaWBjhkErNFpfsBA06sDcPEOb0G8LBUbR4WOcdvhe5LubJbZuxC
      AG9kNPCVeQP1ixwjgjXKysaxeQ6rv0VzIQgRp6tLVLWhy6AKDNvLjFSsmXZ1Wl08
      Y/RlOHXlzLuQMRE6sR1wOdRxc9TsrNWTGiBK65cvSWOy03JeBkQQ8pesqltiyxI9
      U21kkgiXtTSKNGfKK8pO27D81YANhRqPK7iTp6kuFiY2WtOg90KTMNlIT+Ff85Y2
      b1rHj6Z0SrCkJujhWk3IBPic/wJgz01LEc/OAdUPlby90RJZcIBhSlWhT7mXnXIO
      c0HWlNQrns2s3CTyYwZSiSlYe9ApeLwhjDo8NhbFuCAy61l6O5UsR4AfZxx/rGKv
      2wFb1/RN/P4gNe6vmxZAPjR0AQcwD3tc2McimOLr/22kmPz8IH3I0X7WoSFr0Biz
      E91G7bb0hOb/cA==
      =knv7
      -----END PGP PUBLIC KEY BLOCK-----
      ```

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

      ```
      Key ID:           A6310ACC4672475C
      Type:             RSA
      Size:             4096/4096
      Created:          2019-09-18
      Expires:          2027-07-01
      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` 的文件保存到当前目录中。

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

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

   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
   ```
**注意**  
从以前的版本进行更新时，`unzip` 命令会提示覆盖现有文件。要跳过这些提示，例如使用脚本自动化，请为 `unzip` 使用 `-u` 更新。此标志会自动更新现有文件并根据需要创建新文件。  

   ```
   $ unzip -u 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 更新说明](#cli-update)。

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)中的说明排除故障。

------
#### [ Command line - Linux ARM ]

请在 Linux 上从命令行执行以下步骤来安装 AWS CLI。要更新以这种方式创建的安装，请参阅 [AWS CLI 更新说明](#cli-update)，而不是重复这些步骤。

以下是提供基本安装的单个复制和粘贴组中的快速安装步骤。有关更多说明，请参阅以下步骤。

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

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

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

**安装步骤指南**

1. 通过以下方式之一下载安装文件：
   + **使用 `curl` 命令** – `-o` 选项指定下载的程序包应写入的文件名。以下示例命令中使用的选项将下载的文件以本地名称 `awscliv2.zip` 写入到当前目录中。

     ```
     $ curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
     ```
   + **从 URL 下载**：要使用浏览器下载安装程序，请使用以下 URL：[https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip](https://awscli.amazonaws.com/awscli-exe-linux-aarch64.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
      akV0ygUJDqP4lQAKCRCmMQrMRnJHXFHjD/9eyZLYcKuQOlLvtqSDtUBiEZf6ZZjM
      i3ygYH8rJNtuToUH+HvSpe819urJCquXhDrlK6N+aqW0hCLtNABJG/vsafIgvIYJ
      hSGgpgtNnQyMV1jViRWqPjbouw8OkYKBThUfT1i2Y+wn58ifs6ODBCmTexWtXspA
      Si+Gt49xDOW0APmbOPnI+a4HJW6tVEo6MWS0WjzpiBayR3d1A4pt4YrPfSdDgpLo
      h2SLQqlRqvvVZJaWBjhkErNFpfsBA06sDcPEOb0G8LBUbR4WOcdvhe5LubJbZuxC
      AG9kNPCVeQP1ixwjgjXKysaxeQ6rv0VzIQgRp6tLVLWhy6AKDNvLjFSsmXZ1Wl08
      Y/RlOHXlzLuQMRE6sR1wOdRxc9TsrNWTGiBK65cvSWOy03JeBkQQ8pesqltiyxI9
      U21kkgiXtTSKNGfKK8pO27D81YANhRqPK7iTp6kuFiY2WtOg90KTMNlIT+Ff85Y2
      b1rHj6Z0SrCkJujhWk3IBPic/wJgz01LEc/OAdUPlby90RJZcIBhSlWhT7mXnXIO
      c0HWlNQrns2s3CTyYwZSiSlYe9ApeLwhjDo8NhbFuCAy61l6O5UsR4AfZxx/rGKv
      2wFb1/RN/P4gNe6vmxZAPjR0AQcwD3tc2McimOLr/22kmPz8IH3I0X7WoSFr0Biz
      E91G7bb0hOb/cA==
      =knv7
      -----END PGP PUBLIC KEY BLOCK-----
      ```

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

      ```
      Key ID:           A6310ACC4672475C
      Type:             RSA
      Size:             4096/4096
      Created:          2019-09-18
      Expires:          2027-07-01
      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` 的文件保存到当前目录中。

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

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

   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
   ```
**注意**  
从以前的版本进行更新时，`unzip` 命令会提示覆盖现有文件。要跳过这些提示，例如使用脚本自动化，请为 `unzip` 使用 `-u` 更新。此标志会自动更新现有文件并根据需要创建新文件。  

   ```
   $ unzip -u 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 更新说明](#cli-update)。

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)中的说明排除故障。

------
#### [ Snap package ]

我们在 `snap` 上提供 AWS 支持的 AWS CLI 官方版本。如果您希望始终在系统上安装最新版本的 AWS CLI，snap 软件包会自动更新，从而为您提供此版本。没有内置支持来选择 AWS CLI 的次要版本，因此，如果您的团队需要固定版本，则这不是最佳安装方法。如果您要安装 AWS CLI 的特定次要版本，建议您使用命令行安装程序。

1. 如果您的 Linux 平台尚未安装 `snap`，请在您的平台上安装 `snap`。

   1. 有关安装 `snap` 的信息，请参阅《Snap 文档》**中的[安装进程守护程序](https://snapcraft.io/docs/installing-snapd)。

   1. 您可能需要重新启动系统才能正确更新 `PATH` 变量。如果您遇到安装问题，请按照《Snap 文档》**中[修复常见问题](https://snapcraft.io/docs/fix-common-issues)中的步骤操作。

   1. 要验证 `snap` 是否已正确安装，请运行以下命令：

      ```
      $ snap version
      ```

1. 在 AWS CLI 中运行以下 `snap install` 命令。

   ```
   $ snap install aws-cli --classic
   ```

   根据您的权限，您可能需要将 `sudo` 添加到命令中。

   ```
   $ sudo snap install aws-cli --classic
   ```
**注意**  
要查看 AWS CLI 的快照存储库，包括其他 `snap` 说明，请参阅 *Canonical Snapcraft 网站*上的 [`aws-cli`](https://snapcraft.io/aws-cli) 页面。

1. 验证 AWS CLI 是否已正确安装。

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

   如果出现错误，请参阅[排查 AWS CLI 错误](cli-chap-troubleshooting.md)。

------

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

#### 安装要求
<a name="install-macos-prereqs"></a>
+ 我们在 macOS 版本 11 及更高版本上支持 AWS CLI。如需了解更多信息，请参阅 *AWS 开发人员工具博客*上的 [macOS support policy updates for the AWS CLI v2](https://aws.amazon.com/blogs/developer/macos-support-policy-updates-for-the-aws-cli-v2/)。
+ 由于 AWS 不维护第三方存储库，因此我们不能保证它们包含最新版本的 AWS CLI。

**macOS 版本支持矩阵**


| AWS CLI 版本 | 支持的 macOS 版本 | 
| --- | --- | 
| 2.21.0 – 当前 | 11\+ | 
| 2.17.0 – 2.20.0 | 10.15\+ | 
| 2.0.0 – 2.16.12 | 10.14 及更低版本 | 

#### 安装 AWS CLI
<a name="install-macos0-instructions"></a>

您可以通过下列方式之一在 macOS 上安装 AWS CLI。建议使用安装脚本。要更新现有安装，请参阅 [AWS CLI 更新说明](#cli-update)。

------
#### [ Install script (recommended) ]

安装脚本只需一步即可下载、验证和安装适用于 macOS 的 AWS CLI。默认情况下，它为当前用户安装。

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

```
$ curl -fsSL https://awscli.amazonaws.com/v2/install.sh | bash
```

**注意**  
默认情况下，脚本安装到 `$HOME/.local/share/aws-cli` 并在 `$HOME/.local/bin` 中创建符号链接。要安装到不同的位置，请在运行脚本之前设置 `$XDG_DATA_HOME` 和 `$XDG_BIN_HOME` 环境变量。

要改为针对所有用户进行安装（安装到 `/usr/local/aws-cli` 和 `/usr/local/bin`，需要运行 `sudo`），请将 `--system` 参数传递给脚本。

```
$ curl -fsSL https://awscli.amazonaws.com/v2/install.sh | sudo bash -s -- --system
```

有关选项的完整列表，请使用 `--help` 运行脚本。

```
$ curl -fsSL https://awscli.amazonaws.com/v2/install.sh | bash -s -- --help
```

要更新 AWS CLI，请参阅 [AWS CLI 更新说明](#cli-update)。

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

以下步骤演示如何使用标准 macOS 用户界面和浏览器安装 AWS CLI 的最新版本。

1. 在浏览器中，下载 macOS `pkg` 文件：[https://awscli.amazonaws.com/AWSCLIV2.pkg](https://awscli.amazonaws.com/AWSCLIV2.pkg)

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

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

        如果您没有该文件夹的写入权限，则可能需要在命令中使用 `sudo`。以下示例将 `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\+L** 来查看安装的调试日志。这会打开一个日志窗格，让您能够筛选和保存日志。日志文件还会自动保存到 `/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。我们在一个易于复制和粘贴的组中提供步骤。请参阅以下步骤中每一行的描述。

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

**指导性安装说明**

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

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

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 的文件夹的路径。*必须存在该文件夹，否则命令会失败。*以下名为 {{choices.xml}} 的 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. 使用 `curl` 命令下载 `pkg` 安装程序。`-o` 选项指定下载的程序包应写入的文件名。在此示例中，文件写入当前文件夹中的 `AWSCLIV2.pkg`。

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

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/`。将 `folder/installed` 替换为您的 AWS CLI 安装的路径。

   ```
   $ 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="install-windows"></a>

#### 安装要求
<a name="install-windows-prereqs"></a>
+ 我们在 Microsoft 支持的 64 位 Windows 版本上支持 AWS CLI。
+ 安装软件的管理员权限（如果为所有用户安装）。

#### 安装 AWS CLI
<a name="install-windows-instructions"></a>

您可以在 Windows 上为所有用户安装 AWS CLI（需要管理员权限），也可以仅为当前用户安装（无需管理员权限）。建议使用安装脚本。我们会定期更新 AWS CLI；要查看最新版本，请参阅 *GitHub* 上的 [AWS CLI 版本 2 更改日志](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst)。要更新现有安装，请参阅 [AWS CLI 更新说明](#cli-update)。

------
#### [ Install script (recommended) ]

安装脚本只需一步即可下载、验证和安装适用于 Windows 的 AWS CLI。默认情况下，它会为当前用户 (`%LOCALAPPDATA%\Programs\Amazon\AWSCLIV2`) 安装。

**要安装** AWS CLI，请从 PowerShell 提示符处运行以下命令。

```
C:\> irm https://awscli.amazonaws.com/v2/install.ps1 | iex
```

要改为针对所有用户安装（安装在 `Program Files` 下，需要使用提升的（管理员）PowerShell 提示符），请先将脚本下载到文件中，然后使用 `-System` 参数运行该脚本。

```
C:\> irm 'https://awscli.amazonaws.com/v2/install.ps1' -OutFile install.ps1; try { .\install.ps1 -System } finally { Remove-Item install.ps1 }
```

要查看选项的完整列表，请使用相同的模式运行带 `-Help` 的脚本。

```
C:\> irm 'https://awscli.amazonaws.com/v2/install.ps1' -OutFile install.ps1; try { .\install.ps1 -Help } finally { Remove-Item install.ps1 }
```

要更新 AWS CLI，请参阅 [AWS CLI 更新说明](#cli-update)。

------
#### [ MSI installer - All users ]

使用 `AWSCLIV2.msi` 安装程序为计算机上的所有用户安装 AWS CLI。此安装类型需要管理员权限。

1. 下载并运行适用于 Windows（64 位）的 AWS CLI MSI 安装程序：

   [https://awscli.amazonaws.com/AWSCLIV2.msi](https://awscli.amazonaws.com/AWSCLIV2.msi) 

   或者，您可以运行 `msiexec` 命令来运行 MSI 安装程序。

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

   有关可与 `msiexec` 一起使用的各种参数，请参阅 *Microsoft Docs* 网站上的 [msiexec](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec)。例如，您可以使用 `/qn` 标记进行静默安装。

   ```
   C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi {{/qn}}
   ```

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)中的说明排除故障。

------
#### [ MSI installer - Current user ]

使用 `AWSCLIV2-User.msi` 安装程序仅为当前用户安装 AWS CLI。此安装类型不需要管理员权限。安装命令和 AWS CLI 功能与所有用户安装相同。

1. 下载并运行适用于 Windows（64 位）的 AWS CLI MSI 安装程序：

   [https://awscli.amazonaws.com/AWSCLIV2-User.msi](https://awscli.amazonaws.com/AWSCLIV2-User.msi) 

   或者，您可以运行 `msiexec` 命令来运行 MSI 安装程序。

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

   有关可与 `msiexec` 一起使用的各种参数，请参阅 *Microsoft Docs* 网站上的 [msiexec](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec)。例如，您可以使用 `/qn` 标记进行静默安装。

   ```
   C:\> msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2-User.msi {{/qn}}
   ```

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="cli-update"></a>

如果您使用安装脚本、官方安装程序（Linux 命令行安装程序、macOS PKG 安装程序或 Windows MSI 安装程序）安装了 AWS CLI，则可以通过运行以下命令来更新到最新版本。

```
$ aws update
```

如果您为所有用户安装了 AWS CLI，请从提升的 Shell 中运行 `aws update`（在 Linux 和 macOS 上使用 `sudo`，在 Windows 上使用管理员 PowerShell 提示符）。`aws update` 会保留现有安装是适用于所有用户还是当前用户。

## AWS CLI 安装和卸载错误故障排除
<a name="install-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="install-next-steps"></a>

成功安装 AWS CLI 后，可以安全地删除您下载的安装程序文件。完成[使用 AWS CLI 版本 2 的先决条件](getting-started-prereqs.md)中的步骤并安装 AWS CLI 之后，您应执行[设置 AWS CLI](getting-started-quickstart.md)。