【问题标题】:How to upgrade AWS CLI to the latest version?如何将 AWS CLI 升级到最新版本?
【发布时间】:2016-08-26 10:45:02
【问题描述】:

我最近注意到我正在运行一个旧版本的 AWS CLI,它缺少一些我需要的功能:

$aws --version
aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic

如何升级到最新版本的 AWS CLI (1.10.24)?

编辑:

运行以下命令无法更新 AWS CLI:

$ pip install --upgrade awscli
Requirement already up-to-date: awscli in /usr/local/lib/python2.7/dist-packages
Cleaning up...

检查版本:

$ aws --version
aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic

【问题讨论】:

  • 我遇到了同样的情况,是由最初通过 apt-get install awscli 安装的 aws cli 引起的。解决方案是先将其删除 (apt-get remove awscli),然后按照下面的pip install 回答。
  • 我做了 (apt-get remove awscli) 但是在执行 (pip install...) 命令之后我找不到 awscli 可执行文件。 (pip install ...) 的输出显示安装成功。
  • 如果我不在 pip install 中使用“--user”选项,那么我可以在 /usr/local/bin 下找到 awscli 可执行文件(我在 Debian Jessie 上)。但是使用 --user 选项, exec 在 ~/.local 或任何 python 安装包文件夹(dist-package 或 site-package)中不可用。

标签: linux ubuntu amazon-web-services amazon-s3 aws-cli


【解决方案1】:

来自http://docs.aws.amazon.com/cli/latest/userguide/installing.html#install-with-pip

要升级现有的 AWS CLI 安装,请使用 --upgrade 选项:

pip install --upgrade awscli

【讨论】:

  • 我收到以下消息:Requirement already up-to-date: awscli in /usr/local/lib/python2.7/dist-packages。虽然当我运行aws --version 时,我得到aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic
  • 尝试 pip3 install --upgrade awscli
  • 运行sudo pip3 install --upgrade awscli 并重新启动就可以了。感谢您的帮助。
  • 安装 aws cli 后只需重启即可。
  • 我不敢相信重启是必需的,但在这种情况下,重启我的虚拟机比找到替代方法要快 ['reboot voodoo' 适用于 windows] .
【解决方案2】:

在 Linux 和 MacOS X 上,以下是与每个步骤对应的三个命令:

$ 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

【讨论】:

  • 通过 pip 更新对我不起作用 - 删除 aws 并以这种方式重新安装确实有效。
  • 你拯救了我的一天。 AWS 的文档越来越差。
  • 这个选项对我有用,因为我需要升级 /usr/local/aws(而不是 /home/ubuntu/.local/bin/aws)以供 jenkins 用户使用
  • AWS 的文档确实在迅速恶化。这是正确答案,我不明白为什么提问者接受了他们在编辑中明确指出的答案不起作用 - pip 包通常落后于当前最新版本,这在使用 EKS 等新东西时会出现问题.注意:我必须退出 shell 并重新登录才能使用 aws 命令来获取新版本。不知道为什么。
【解决方案3】:

这不起作用:

pip install --upgrade awscli

这在 Ubuntu 14.04 上运行良好(也无需重新启动 .. 你必须先安装 pip3 ):

pip3 install --upgrade awscli

【讨论】:

  • 这可能需要:apt-get install python3-pip 任一命令在 Ubuntu 14.04 上对我来说同样适用。
【解决方案4】:

对于 Ubuntu 16.04,我使用了其他答案和 cmets 的一部分,只是重新加载了 bash 而不是重新启动。

我使用 apt 安装了 aws-cli,所以我先删除了它:

sudo apt-get remove awscli

然后我可以pip安装(我选择使用sudo通过pip2全局安装):

sudo pip install -U awscli

由于我是在服务器上执行此操作,我不想重新启动它,但重新加载 bash 就成功了:

source ~/.bashrc

此时我可以使用新版本的 aws cli

aws --version

【讨论】:

  • 感谢source ~/.bashrc 步骤。:)
【解决方案5】:

试试 sudo pip install --upgrade awscli,然后打开一个新的 shell。 这对我来说效果很好(无需重新启动)。

【讨论】:

  • 在 Mac OS 上,我必须运行 sudo pip install --upgrade awscli 才能使我的机器能够卸载以前版本的 awscli(在初始升级成功运行后)
【解决方案6】:

更新:使用 AWS CLI v1 将实例升级到 AWS CLI v2:

这个问题和答案最初是在只有 AWS CLI v1 时创建的。现在有一个 AWS CLI v2。 AWS CLI v2 的安装说明可以在here 找到。

新的 AWS CLI v2 有不同的安装说明,具体取决于您的 EC2 实例是使用 Linux x86(64 位)还是 Linux ARM 架构。

要在使用 Linux ARM 的 EC2 实例上升级到 AWS CLI v2,我必须发出以下命令:

rm -rf /bin/aws
curl "https://awscli.amazonaws.com/awscli-exe-linux-aarch64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
./aws/install -i /usr/local/aws -b /bin

随后通过执行以下命令测试您的 AWS CLI 版本:aws --version

对于 Linux x86(64 位)架构,我希望命令是相同的,只是将 curl 命令替换为以下内容:(根据 installation instructions

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o “awscliv2.zip”

我使用的 AMI 是当前可用的最新版本,它仍在使用 AWS CLI v1。将来,如果 AWS 开始将 AWS CLI v2 与他们的 AMI 打包在一起,这个答案可能需要更新。


原始答案:使用 AWS CLI v1 升级实例以使用最新版本的 AWS CLI v1:

如果您在使用 pip 安装 AWS CLI 时遇到问题,可以使用 here 中记录的“捆绑安装程序”。

这里讨论的步骤如下:

$ 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 版本,以检查一切是否正确执行:

$ aws --version

如果 AWS CLI 未按预期更新到最新版本,则 AWS CLI 二进制文件可能位于其他位置,如先前给出的命令所假定的那样。

确定从何处执行 AWS CLI:

$ which aws

在我的例子中,AWS CLI 是从 /bin/aws 执行的,所以我必须安装 “捆绑安装程序”使用该位置如下:

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

【讨论】:

  • 使用捆绑的安装程序以某种方式使生成的 docker 图像比使用 pip 更大......令人兴奋
  • 安装后可能需要打开一个新的 shell - 由于某种原因,“aws”在退出并重新启动之前不会指向新的安装。
【解决方案7】:

简单使用 sudo pip install awscli --force-reinstall --upgrade

这将升级所有必需的模块。

【讨论】:

  • 在我的 jenkins 机器上,我不想显式卸载 cli,所以我使用了这种方法,效果很好!
【解决方案8】:

在 Mac 上,您可以使用自制软件:

安装:brew install awscli

升级:brew upgrade awscli

确保您没有安装多个:where aws

【讨论】:

    【解决方案9】:
    pip install awscli --upgrade --user
    

    --upgrade 选项告诉 pip 升级任何已安装的要求。 --user 选项告诉 pip 将程序安装到用户目录的子目录中,以避免修改操作系统使用的库。

    【讨论】:

      【解决方案10】:

      我们可以按照以下命令在 UBUNTU 上安装 AWS CLI:

      sudo apt install curl

      卷曲“https://s3.amazonaws.com/aws-cli/awscli-bundle.zip”-o “awscli-bundle.zip”

      解压 awscli-bundle.zip

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

      rm -rf awscli-bundle.zip awscli-bundle

      测试:aws — 版本

      更多信息:

      https://gurudathbn.wordpress.com/2018/03/31/installing-aws-cli-on-ubuntu/

      【讨论】:

        【解决方案11】:

        使用sudo pip install --upgrade awscli时出现以下错误:

        ERROR: Could not install packages due to an EnvironmentError: [Errno 30] Read-only file system: '/lib'
        

        通过使用带有 -H 选项的 sudo,我可以解决问题。

        sudo -H pip install --upgrade awscli
        

        【讨论】:

          【解决方案12】:

          目前,使用 pip 将为您提供 awscli 的 old version1.18.103

          最新版本的 aws-cli 2.0.33 位于 v2 branch。您可以从here 下载适用于 Linux、Windows 和 macOS 的安装程序。

          【讨论】:

            【解决方案13】:

            我试图在我的一个 ec2 实例上安装 awscli,我尝试了这两个实例

            • sudo pip install --upgrade awscli,
            • sudo pip3 install --upgrade awscli

            这没有用,因为我遇到了类似的错误

            命令“python setup.py egg_info”失败,错误代码 1 在 /tmp/pip-build-2nh71cs2/cryptography/

            而且重启服务器不是一种选择。

            幸运的是,简单

            • sudo apt update
            • sudo apt install awscli 工作。

            【讨论】:

              【解决方案14】:

              试试 AWS Cloud Shell,快速简单

              AWS CloudShell 是一种基于浏览器的 shell,可让您轻松安全地管理、探索 AWS 资源并与之交互。 CloudShell 已使用您的控制台凭据进行预身份验证。

              好处

              • 无需管理额外的凭据
              • 始终保持最新状态
              • 免费

              更多详情在这里https://aws.amazon.com/cloudshell/

              • 可定制

              【讨论】:

              • 除非用于特定目的,否则可以使用 Cloud shell 轻松处理常见的日常操作
              【解决方案15】:

              要全局安装,请获得 sudo 访问权限 sudo su 然后通过

              升级aws cli
              pip3 install --upgrade awscli
              

              【讨论】:

                猜你喜欢
                • 2017-10-11
                • 2021-05-06
                • 1970-01-01
                • 2013-02-24
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2019-09-05
                • 2012-04-21
                相关资源
                最近更新 更多