gpt4 book ai didi

windows - 如何让 AWS 命令​​行界面在 cygwin 中工作

转载 作者:可可西里 更新时间:2023-11-01 12:15:43 25 4
gpt4 key购买 nike

我在我的 Windows 7 机器上安装了 AWS 命令​​行界面,当我从 DOS shell 调用命令时它立即工作。

但是 DOS 是有史以来最糟糕的语言,对于任何严肃的脚本编写来说都是可怕的。因此,我想通过 cygwin 从 bash 使用 AWS CLI。

在我的例子中,安装的 AWS CLI 是 Windows 版本。原则上,这应该不是问题,因为 Windows 命令可以从 cygwin 执行。 ( cygwin includes your Windows environmental variables ,例如 PATH,在它自己的环境中。)

不幸的是,当我第一次尝试从 cygwin/bash 执行 AWS CLI 命令时,出现错误:

$ aws s3 cp code.tgz s3://xyz/
upload failed: .\code.tgz to s3://xyz/code.tgz
Unable to locate credentials

此错误可能是因为 AWS CLI 在错误的目录中查找 credentials 文件。在 Windows 上,它希望该文件位于 %UserProfile%.aws 中,在 unix 中位于 ~/.aws 中。

一个 hack 解决方法是,在我的主目录中,我创建了一个名为 config_credentials 的新文件,其中包含该目录的文件 config 的内容的联合凭据。然后,我创建了一个名为 AWS_CONFIG_FILE 的新 Windows 系统环境变量,其值是 config_credentials 的路径。成功:从 cygwin 发出的 AWS CLI 命令现在可以使用。

请问有没有更好的解决方案?

我很好奇为什么 AWS CLI 最初无法在正确的主目录中搜索 configcredentials 文件。我还想知道是否有办法纠正这个问题(这将消除对 AWS_CONFIG_FILE env var 的需要)。

最佳答案

我遇到了同样的问题。我通过在 Cygwin 中安装 AWSCLI 的新副本来解决这个问题。您首先需要安装“curl”和“python”Cygwin 包,然后您可以按如下方式安装 AWSCLI:

$ curl -O https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py
$ pip install awscli

如果您正在运行 bash,并且之前执行过 Windows AWS 命令​​行,则需要按如下方式清除缓存路径:

$ hash -d aws

“aws --version”将类似于此:

aws-cli/1.8.1 Python/2.7.10 CYGWIN_NT-10.0/2.2.1(0.289/5/3)

与 Windows 命令行输出相反,它看起来类似于:

aws-cli/1.8.1 Python/2.7.9 Windows/8

我现在可以在 Cygwin 下执行“aws configure”,一切正常。

关于windows - 如何让 AWS 命令​​行界面在 cygwin 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30809822/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com