在 macOS 上安装、更新和卸载 AWS CLI 版本 1 - AWS Command Line Interface

本文档仅适用于 AWS CLI 版本 1。有关 AWS CLI 版本 2 的相关文档,请参阅版本 2 用户指南

在 macOS 上安装、更新和卸载 AWS CLI 版本 1

您可以使用捆绑安装程序或 pip 安装 AWS Command Line Interface (AWS CLI) 版本 1 及其对 macOS 的依赖项。

先决条件

必须先确保已安装 Python 3.6 或更高版本,然后才能在 macOS 上安装 AWS CLI 版本 1。有关安装说明,请参阅 Python 的初学者指南 中的下载 Python 页面。

警告

Python 2.7 已于 2020 年 1 月 1 日被 Python Software Foundation 弃用。从 AWS CLI 版本 1.20.0 开始,至少需要 Python 3.6 版本。

为了将 AWS CLI 版本 1 与较旧版本的 Python 配合使用,您需要安装较早版本的 AWS CLI 版本 1。要查看 AWS CLI 版本 1 Python 版本支持表,请参阅 Python 版本要求

使用捆绑安装程序在 macOS 上安装、更新和卸载 AWS CLI 版本 1

在 Linux 或 macOS 上,可以使用捆绑安装程序来安装 AWS Command Line Interface (AWS CLI) 的版本 1。捆绑安装程序包含所有依赖项,并可以离线使用。

捆绑安装程序不支持安装到包含空格的路径。

使用捆绑安装程序(带有 sudo)安装 AWS CLI 版本 1

以下步骤使您能够从任何版本的 macOS 上的命令行安装 AWS CLI 版本 1。

以下是可剪切和粘贴以作为一组命令运行的安装命令的摘要。

对于最新版本的 AWS CLI,请使用以下命令块:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" unzip awscli-bundle.zip sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

对于特定版本的 AWS CLI,在文件名后附加一个连字符和版本号。在本示例中,版本 1.16.312 的文件名为 awscli-bundle-1.16.312.zip,这会生成以下命令:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip" unzip awscli-bundle.zip sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

要使用捆绑安装程序安装 AWS CLI 版本 1

  1. 使用以下方式之一下载 AWS CLI 版本 1 捆绑安装程序:

    • 使用 curl 命令下载。

      对于最新版本的 AWS CLI,请使用以下命令块:

      $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

      对于特定版本的 AWS CLI,在文件名后附加一个连字符和版本号。在本示例中,版本 1.16.312 的文件名为 awscli-bundle-1.16.312.zip,这会生成以下命令:

      $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"
    • 使用直接链接下载。

      对于最新版本的 AWS CLI:https://s3.amazonaws.com/aws-cli/awscli-bundle.zip

      对于特定版本的 AWS CLI,在文件名后附加一个连字符和版本号。在本示例中,版本 1.16.312 的文件名为 awscli-exe-linux-aarch64-2.0.30.zip,这会生成以下 URL:https://s3.amazonaws.com/aws-cli/awscli-bundle-2.0.30.zip

  2. 从程序包中提取(解压缩)文件。如果没有 unzip,请使用 macOs 发行版的内置程序包管理器进行安装。

    $ unzip awscli-bundle.zip
  3. 运行安装程序。安装程序在 AWS CLI 中安装 /usr/local/aws,并在 aws 文件夹中创建符号链接 /usr/local/bin。使用 -b 选项创建符号链接将免除在用户的 $PATH 变量中指定安装文件夹的需要。这应该能让所有用户通过在任何目录下输入 aws 来调用 AWS CLI。

    $ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

    默认情况下,安装脚本在系统默认版本的 Python 下运行。如果已安装 Python 的可选版本并希望使用该版本安装 AWS CLI,请使用该版本按 Python 可执行文件的绝对路径运行安装脚本,如下所示。

    $ sudo /usr/local/bin/python3.7 awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
  4. 验证 AWS CLI 是否已正确安装。

    $ aws --version aws-cli/1.25.55 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

    如果出现错误,请参阅纠正 AWS CLI 错误

使用捆绑安装程序(不带有 sudo)安装 AWS CLI 版本 1

如果您没有 sudo 权限,或打算仅为当前用户安装 AWS CLI,则可使用先前命令的修改版本。前两个命令是相同的。

对于最新版本的 AWS CLI,请使用以下命令块:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip" unzip awscli-bundle.zip ./awscli-bundle/install -b ~/bin/aws

对于特定版本的 AWS CLI,在文件名后附加一个连字符和版本号。在本示例中,版本 1.16.312 的文件名为 awscli-bundle-1.16.312.zip,这会生成以下命令:

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip" unzip awscli-bundle.zip ./awscli-bundle/install -b ~/bin/aws

为当前用户安装 AWS CLI 版本 1

  1. 使用以下方法之一下载 AWS CLI 版本 1 捆绑安装程序:

    • 使用 curl 命令下载。

      对于最新版本的 AWS CLI,请使用以下命令块:

      $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

      对于特定版本的 AWS CLI,在文件名后附加一个连字符和版本号。在本示例中,版本 1.16.312 的文件名为 awscli-bundle-1.16.312.zip,这会生成以下命令:

      $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"
    • 使用直接链接下载。

      对于最新版本的 AWS CLI:https://s3.amazonaws.com/aws-cli/awscli-bundle.zip

      对于特定版本的 AWS CLI,在文件名后附加一个连字符和版本号。在本示例中,版本 1.16.312 的文件名为 awscli-exe-linux-aarch64-2.0.30.zip,这会生成以下 URL:https://s3.amazonaws.com/aws-cli/awscli-bundle-2.0.30.zip

  2. 从程序包中提取文件。如果没有 unzip,请使用 Linux 发行版的内置程序包管理器进行安装。

    $ unzip awscli-bundle.zip
  3. 运行安装程序。安装程序在 AWS CLI 中安装 /usr/local/aws,并在 aws 目录中创建符号链接 /usr/local/bin。此命令使用 -b 参数以指定安装程序放置 aws 符号链接文件的目录。您必须具有对指定目录的写入权限。

    $ ./awscli-bundle/install -b ~/bin/aws

    这会将 AWS CLI 安装到默认位置 (~/.local/lib/aws) 并在 ~/bin/aws 中创建符号链接 (symlink)。确保您的 ~/bin 环境变量中包含 $PATH,以使该符号链接生效。

    $ echo $PATH | grep ~/bin // See if $PATH contains ~/bin (output will be empty if it doesn't) $ export PATH=~/bin:$PATH // Add ~/bin to $PATH if necessary
  4. 确保安装 AWS CLI 版本 1 的文件夹是 $PATH 变量的一部分。

    1. 在您的用户文件夹中查找 Shell 的配置文件脚本。如果您不能确定所使用的 Shell,请运行 echo $SHELL

      $ ls -a ~ . .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads
      • Bash.bash_profile.profile.bash_login

      • Zsh.zshrc

      • Tcsh.tcshrc.cshrc.login

    2. 在配置文件脚本末尾添加与以下示例类似的导出命令。

      export PATH=~/.local/bin:$PATH

      此命令将路径(在本示例中为 ~/.local/bin)插入到现有 PATH 变量的前面。

    3. 将配置文件重新加载到当前会话中,以使更改生效。

      $ source ~/.bash_profile
  5. 验证 AWS CLI 是否已正确安装。

    $ aws --version aws-cli/1.25.55 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/1.13

    如果出现错误,请参阅纠正 AWS CLI 错误

卸载 AWS CLI 版本 1 捆绑安装程序

  1. 捆绑的安装程序将除可选符号链接之外的所有内容放在安装目录中,因此要卸载,您只需删除这两个项目即可。

    $ sudo rm -rf /usr/local/aws $ sudo rm /usr/local/bin/aws
  2. (可选)删除 .aws 文件夹中的共享 AWS SDK 和 AWS CLI 设置信息。

    警告

    这些配置和凭证设置跨所有 AWS SDK 和 AWS CLI 进行共享。如果删除此文件夹,则您系统上的任何 AWS SDK 都无法访问它们。

    .aws 文件夹的原定设置位置因平台而异,默认情况下,该文件夹位于 ~/.aws/。如果您的用户账户对此目录具有写入权限,则无需使用 sudo

    $ sudo rm ~/.aws/

使用 pip 安装、更新和卸载 AWS CLI 版本 1

您可以直接使用 pip 安装 AWS CLI。

安装 pip

如果尚未安装 pip,可以使用 Python 打包权威机构 提供的脚本进行安装。运行 pip --version 可查看您的 Linux 版本是否已包含 Python 和 pip。如果您安装了 Python 3 或更高版本,我们建议您使用 pip3 命令。

  1. 使用 curl 命令下载安装脚本。以下命令使用 -O(大写字母“O”)参数指定下载的文件将使用与远程主机上相同的名称存储在当前的文件夹中。

    $ curl -O https://bootstrap.pypa.io/get-pip.py
  2. 使用 pythonpython3 命令运行脚本以下载并安装最新版本的 pip 和其他必需的支持包。当您包含 --user 开关时,脚本将 pip 安装到路径 ~/.local/bin

    $ python3 get-pip.py --user

使用 pip 安装和更新 AWS CLI

  1. 使用 pippip3 命令安装 AWS CLI。如果您使用的是 Python 3 或更高版本,我们建议您使用 pip3 命令。

    对于最新版本的 AWS CLI,请使用以下命令块:

    $ pip3 install awscli --upgrade --user

    对于特定版本的 AWS CLI,在文件名后附加两个等号 = 和版本号。在本示例中,版本 1.16.312 的文件名为 ==1.16.312,这会生成以下命令:

    $ pip3 install awscli==1.16.312 --upgrade --user
    注意

    为您的终端使用适当的引用规则。要使用 = 字符,您可能需要使用单引号或双引号适当地进行转义。以下示例使用单引号进行转义:

    $ pip3 install 'awscli==1.16.312' --upgrade --user
  2. 验证 AWS CLI 是否已正确安装。

    $ aws --version aws-cli/1.25.55 Python/3.8.8 Darwin/18.7.0 botocore/1.13

    如果未找到该程序,请将它添加到命令行路径

将 AWS CLI 版本 1 可执行文件添加到 macOS 命令行路径

在使用 pip 进行安装后,可能需要将 aws 程序添加到操作系统的 PATH 环境变量中。程序的位置取决于 Python 的安装位置。

例 AWS CLI 安装位置 - 带 Python 3.6 和 pip(用户模式)的 macOS

~/Library/Python/3.7/bin

将上面示例中的版本替换为您的 Python 版本。

如果您不知道 Python 的安装位置,请运行 which python

$ which python /usr/local/bin/python

输出可能是符号链接的路径,而不是实际的程序。运行 ls -al 以查看所指向的路径。

$ ls -al /usr/local/bin/python ~/Library/Python/3.7/bin/python3.7

pip 将程序安装到 Python 应用程序所在的文件夹中。将此文件夹添加到 PATH 变量。

修改您的 PATH 变量

  1. 在您的用户目录中查找 Shell 的配置文件脚本。如果您不能确定所使用的 Shell,请运行 echo $SHELL

    $ ls -a ~ . .. .bash_logout .bash_profile .bashrc Desktop Documents Downloads
    • Bash.bash_profile.profile.bash_login

    • Zsh.zshrc

    • Tcsh.tcshrc.cshrc.login

  2. 向配置文件脚本中添加导出命令。

    export PATH=~/.local/bin:$PATH

    在本示例中,此命令将路径 ~/.local/bin 添加到当前 PATH 变量中。

  3. 将更新的配置文件加载到当前会话中。

    $ source ~/.bash_profile

使用 pip 卸载 AWS CLI

  1. 要卸载 AWS CLI,请使用 pip uninstall

    $ pip3 uninstall awscli
  2. (可选)删除 .aws 文件夹中的共享 AWS SDK 和 AWS CLI 设置信息。

    警告

    这些配置和凭证设置跨所有 AWS SDK 和 AWS CLI 进行共享。如果删除此文件夹,则您系统上的任何 AWS SDK 都无法访问它们。

    .aws 文件夹的原定设置位置因平台而异,默认情况下,该文件夹位于 ~/.aws/。如果您的用户账户对此目录具有写入权限,则无需使用 sudo

    $ sudo rm ~/.aws/

AWS CLI 安装和卸载错误故障排除

如果您在安装或卸载 AWS CLI 后遇到问题,请参阅纠正 AWS CLI 错误以了解故障排除步骤。有关相关性最高的故障排除步骤,请参阅找不到命令错误“aws --version”命令返回的版本与您安装的版本不同卸载 AWS CLI 后,“aws --version”命令返回一个版本