【问题标题】:aws-cli shows old version after upgradeaws-cli 升级后显示旧版本
【发布时间】:2018-01-03 16:06:39
【问题描述】:

我正在使用运行 raspbian jessie OS 的 raspberry。 我尝试使用https://aws.amazon.com/cli/ 提供的步骤安装/升级 aws-cli 即使升级成功后,我也得到以下输出

pi@raspberrypi:~ $ aws --version
aws-cli/1.11.126 Python/2.7.9 Linux/4.9.28-v7+ botocore/1.5.89

安装前也是如此。 缺点: 当我运行aws help 时,我无法看到“iot”作为选项。大多数其他服务(如 ec2 和 s3)都可用

这种行为背后的原因是什么?如何解决?

【问题讨论】:

  • 您可能安装了多个版本?您可以尝试which aws查看。然后执行pip install awscli --upgrade 并检查它是否在同一路径中更新。 (在pip 前面可能需要sudo。)
  • 我无法回答为什么会这样,但卸载和重新安装对我有用。
  • @dillon.harless 您好,您使用哪个命令卸载和安装 awcli?
  • @JohnRotenstein Hi 在我从which aws 获得的相同路径下运行pip install awscli --upgrade,然后它显示Requirement already satisfied 并且版本仍然是旧版本...

标签: amazon-web-services raspbian raspberry-pi3 aws-cli aws-iot


【解决方案1】:

像我一样,您的旧版本 AWS CLI 将通过 PIP(python 包安装程序)安装。

如果你这样做which aws,你会看到类似...Python/2.7/bin/aws的东西

然后您尝试使用官方 AWS 软件包安装程序进行升级 - 例如https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2-mac.html#cliv2-mac-install-cmd

此方法将新版本安装在/usr/local/bin/aws之类的位置

因此,您的系统上基本上有 2 个版本的 AWS CLI。当您执行 aws --version 时,您会看到旧的基于 PIP 的安装。

修复它(就像我做的那样) - 我只是使用 PIP 来升级现有的 CLI:

【讨论】:

    【解决方案2】:

    我在 MacOs Sierra 中遇到了同样的问题。 见下图,$(which aws) --version 对我有用。

    我在 bash_profile 中创建了一个别名, alias aws='/Users/sasinda/anaconda2/bin/aws' 并且成功了。 这不是一个好的解决方案,但这是一种解决方法。我很想知道为什么会这样。

    【讨论】:

      【解决方案3】:

      原因是你必须发现你正在执行的witch aws-cli,试试这个:

      which aws

      如果提供的路径与新安装的路径相同。此问题与更新您的覆盆子中的 aws 变量有关。

      您可以在此之后将它们都删除并重新安装。

      【讨论】:

        猜你喜欢
        • 2021-05-06
        • 1970-01-01
        • 1970-01-01
        • 2017-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-08-26
        • 1970-01-01
        相关资源
        最近更新 更多