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

How to upgrade AWS CLI to the latest version?

我最近注意到我是 运行 旧版本的 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

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

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

pip install --upgrade awscli

这不起作用:

pip install --upgrade awscli

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

pip3 install --upgrade 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

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

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

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

sudo apt-get remove awscli

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

sudo pip install -U awscli

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

source ~/.bashrc

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

aws --version

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

sudo apt install curl

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

rm -rf awscli-bundle.zip awscli-bundle

To test: 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。可以在 here.

找到 AWS CLI v2 的安装说明

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

要在使用 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 是当前可用的最新 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

使用 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

在 Mac 您可以使用自制程序:

安装:brew install awscli

升级:brew upgrade awscli

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

目前,使用 pip 可以获得 awscli 的 old version1.18.103

最新版本的aws-cli,2.0.33v2branch. You can download the installer for Linux, Windows and macOS from here

尝试 AWS Cloud Shell,快速简单

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

好处

  • 没有额外的凭证需要管理
  • 始终保持最新
  • 无成本

此处有更多详细信息https://aws.amazon.com/cloudshell/

  • 可定制

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

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

这没有用,因为我收到了类似

的错误

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-2nh71cs2/cryptography/

并且重启服务器不是一个选项。

幸运,简单

  • sudo apt update
  • sudo apt install awscli 有效。

要进行全局安装,请获取 sudo 访问权限 sudo su & 然后升级 aws cli

pip3 install --upgrade awscli

我通过删除和安装 awscli 来完成此操作 video

基本上:

pip uninstall awscliv2

pip install awscliv2

pip install awscliv2==your-version

pip install awscliv

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

pip install --upgrade ...

同样有效。当然。

我没有全局安装它(有些人似乎仍然这样做),顺便说一句。因为有时我需要针对不同的情况使用不同的 v。所以我把它放在单独的 python 虚拟环境中。