在 macOS 上安装、更新和卸载 AWS CLI 版本 2 - AWS Command Line Interface
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

本主题介绍如何在 macOS 上安装、更新和删除 AWS CLI 版本 2。

重要

AWS CLI 版本 1 和 2 使用相同的 aws 命令名称。如果您安装了两个版本,计算机将使用在搜索路径中找到的第一个版本。如果您之前安装过 AWS CLI 版本 1,建议您执行以下操作之一来使用 AWS CLI 版本 2:

  • 建议 – 卸载 AWS CLI 版本 1 并仅使用 AWS CLI 版本 2。有关卸载说明,请确定用于安装 AWS CLI 版本 1 的方法,然后按照 安装、更新和卸载 AWS CLI 版本 1 中适用于您的操作系统的相应卸载说明操作

  • 使用操作系统的功能为两个 aws 命令之一创建具有不同名称的符号链接或别名。例如,您可以在 Linux 和 macOS 上使用符号链接别名,或在 Windows 上使用DOSKEY

有关版本 1 和版本 2 之间的突破性更改的信息,请参阅 重大更改 – 从 AWS CLI 版本 1 迁移到版本 2

先决条件

  • 我们在 Apple 支持的 64 位 macOS 版本上支持 AWS CLI 版本 2。

  • 由于 AWS 不维护第三方存储库,因此我们不能保证它们包含最新版本的 AWS CLI。

使用 macOS 用户界面安装和更新 AWS CLI 版本 2

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

  1. 在浏览器中,下载 macOS pkg 文件:

  2. 双击下载的文件以启动安装程序。

  3. 按照屏幕上的说明进行操作。您可以选择通过以下方式安装 AWS CLI 版本 2:

    • 针对计算机上的所有用户(需要 sudo

      • 您可以安装到任何文件夹,或选择推荐的默认文件夹 /usr/local/aws-cli

      • 安装程序会自动在 /usr/local/bin/aws 中创建一个符号链接,该链接指向您选择的安装文件夹中的主程序。

    • 仅针对当前用户(不需要 sudo

      • 您可以安装到具有写入权限的任何文件夹。

      • 由于具有标准用户权限,在安装程序完成后,您必须在命令提示符下使用以下命令在 $PATH 中手动创建指向 awsaws_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/aws_completer
    注意

    您可以在安装过程中的任意时刻按 Cmd+L 来查看安装的调试日志。这会打开一个日志窗格,让您能够筛选和保存日志。日志文件还会自动保存到 /var/log/install.log

  4. 要验证 AWS CLI 版本 2 是否已安装,请按照 验证安装中的步骤操作。

使用 macOS 命令行安装和更新 AWS CLI 版本 2

您可以从命令行进行下载、安装和更新。如果要更新到最新版本,请使用与当前版本相同的安装方法。您可以通过以下方式之一安装 AWS CLI 版本 2:

使用 macOS 命令行针对所有用户进行安装和更新

如果您拥有 sudo 权限,则可以针对计算机上的所有用户安装 AWS CLI 版本 2。

我们在一个易于复制和粘贴的组中提供步骤。请参阅下面步骤中每一行的描述。

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

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

对于特定版本的 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 /

有关版本列表,请参阅 GitHub 上的 AWS CLI 版本 2 更改日志

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

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

    $ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -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 上的 AWS CLI 版本 2 更改日志

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

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

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

  3. 要验证 AWS CLI 版本 2 是否已安装,请按照 验证安装中的步骤操作。

使用 macOS 命令行仅针对当前用户安装和更新

  1. 要指定将 AWS CLI 安装到哪个文件夹,必须创建 XML 文件。此文件是 XML 格式的文件,类似于以下示例。保持所显示的所有值不变,但必须将第 9 行中的 /Users/myusername 路径替换为您要在其中安装 AWS CLI 版本 2 的文件夹的路径。必须存在该文件夹,否则命令会失败。 此 XML 示例指示安装程序在文件夹 /Users/myusername 中安装 AWS CLI,并创建名为 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>
  2. 使用 curl 命令下载 pkg 安装程序。-o 选项指定下载的程序包应写入的文件名。在此示例中,文件写入当前文件夹中的 AWSCLIV2.pkg

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

    $ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -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 上的 AWS CLI 版本 2 更改日志

  4. 使用以下选项运行标准 macOS installer 程序:

    • 使用 -pkg 参数指定要安装的程序包的名称。

    • 通过设置 --target CurrentUserHomeDirectory 参数指定仅当前用户 安装。

    • --applyChoiceChangesXML 参数中指定您创建的 XML 文件的路径(相对于当前文件夹)和名称。

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

    $ installer -pkg AWSCLIV2.pkg \ -target CurrentUserHomeDirectory \ -applyChoiceChangesXML choices.xml
  5. 由于标准用户权限通常不允许写入 $PATH 中的文件夹,因此在此模式下,安装程序不会尝试将符号链接添加到 awsaws_completer 程序中。要使 AWS CLI 正确运行,必须在安装程序完成后手动创建符号链接。如果 $PATH 包含您可以写入的文件夹,并且您将该文件夹指定为目标的路径,则可以在不使用 sudo 的情况下运行以下命令。如果 $PATH 中没有可写入的文件夹,您必须使用 sudo,以获取写入指定目标文件夹的权限。

    $ sudo ln -s /folder/installed/aws-cli/aws /folder/in/your/PATH/aws $ sudo ln -s /folder/installed/aws-cli/aws_completer /folder/in/your/PATH/aws_completer

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

  6. 要验证 AWS CLI 版本 2 是否已安装,请按照 验证安装中的步骤操作。

验证安装

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

$ which aws /usr/local/bin/aws $ aws --version aws-cli/2.0.47 Python/3.7.4 Darwin/18.7.0 botocore/2.0.0

卸载 AWS CLI 版本 2

要卸载 AWS CLI 版本 2,请运行以下命令,同时替换用于安装的路径。

  1. 找到包含指向主程序和补全程序的符号链接的文件夹。

    $ which aws /usr/local/bin/aws
  2. 使用该信息,运行以下命令来查找符号链接指向的安装文件夹。

    $ 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/aws
  3. 删除第一个文件夹中的两个符号链接。如果您的用户账户已具有这两个文件夹的写入权限,则无需使用 sudo

    $ sudo rm /usr/local/bin/aws $ sudo rm /usr/local/bin/aws_completer
  4. 删除主安装文件夹。使用 sudo 获得对 /usr/local 文件夹的写入访问权限。

    $ sudo rm -rf /usr/local/aws-cli