如何将 AWS CLI 升级到最新版本?

我最近注意到,我正在运行一个旧版本的 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
128588 次浏览

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

若要升级现有的 AWS CLI 安装,请使用—— update 选项:

pip install --upgrade awscli

这种做法行不通:

Pip install ——升级 awscli

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

Pip3 install ——升级 awscli

在 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

然后打开一个新的 shell。 这对我来说效果很好(不需要重启)。

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

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

sudo apt-get remove awscli

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

sudo pip install -U awscli

因为我是在一台服务器上做这件事的,所以我不想重新启动它,但是重新加载 bash 起到了作用:

source ~/.bashrc

在这一点上,我可以使用新版本的 aws cli

aws --version

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

安装卷

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

解压缩包

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

Rm-rf awscli-bundle.zip awscli-bundle

测试: aws-version

更多信息:

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

用法很简单 sudo pip install awscli --force-reinstall --upgrade

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

pip install awscli --upgrade --user

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

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

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

新的 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命令: (根据 安装说明书)

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

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


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

如果您在使用 pip安装 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 版本,以确保正确执行所有操作:

$ 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

在使用 sudo pip install --upgrade awscli时,我得到了以下错误:

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

通过使用 sudo with-H 选项,我可以修复这个问题。

sudo -H pip install --upgrade awscli

在 Mac 上,你可以使用自制程序:

安装: brew install awscli

升级: brew upgrade awscli

确保没有多个安装: where aws

目前,使用 pip 将得到 awscli 的 旧版本1.18.103

最新版本的 aws-cli,2.0.33v2 树枝上。您可以从 给你下载 Linux、 Windows 和 macOS 的安装程序。

试试 AWS 云外壳,快速简单

AWS CloudShell 是一个基于浏览器的 shell,它使得安全管理、探索和与 AWS 资源交互变得更加容易。CloudShell 使用您的控制台凭据进行预先身份验证。

福利

  • 没有额外的证件需要管理
  • 随时更新
  • 免费

详情请浏览这里

  • 可定制

我试图在我的一个 ec2实例上同时安装 awscli

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

但是没有成功,因为我出现了一些错误,比如

命令“ python setup.py egg _ info”在/tmp/pip-build-2nh71cs2/crypgraphy/中错误代码1失败

重新启动服务器是不可能的。

幸运的是,很简单

  • sudo apt update
  • sudo apt install awscli成功了。

要全局安装,请访问 sudo 访问 然后升级 aws cli

pip3 install --upgrade awscli

我这样做,删除和安装的 awscli 在这个 视频描述

基本上:

Pip 卸载 awscliv2

Pip 安装 awscliv2

Pip install awscliv2 = = your-version

安装

(如果需要,可以保留 v1和 v2)

Pip 安装,升级。

- 也行-当然。

我没有全局安装它 (像一些 ppl 似乎仍然这样做) ,顺便说一下。因为有时候不同的情况下,我需要不同的 v。所以我将它保存在单独的 python 虚拟环境中。

对于窗口,可以尝试此命令

msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi