Aws-cli: Instale o aws-cli usando o Homebrew

Criado em 29 mar. 2014  ·  42Comentários  ·  Fonte: aws/aws-cli

Minha fórmula awscli foi fundida e está oficialmente disponível com o Homebrew .

Seria útil adicionar o Homebrew como uma opção de instalação no README.

Como uma sugestão, algo assim,

Homebrew no Mac OS X

aws-cli também pode ser instalado usando o gerenciador de pacotes Homebrew no Mac OS X:

brew install awscli

Se você deseja a versão de desenvolvimento do aws-cli:

brew install awscli --HEAD

Após a instalação, o brew fornecerá instruções para a conclusão da instalação e onde encontrar exemplos de como usar o aws-cli.

feature-request installation

Comentários muito úteis

Concordou. Homebrew atrai um público muito mais amplo do que pip.

Todos 42 comentários

Concordou. Homebrew atrai um público muito mais amplo do que pip.

O histórico de lançamento é muito bom, mas ainda um pouco irregular. https://github.com/Homebrew/homebrew/commits/master/Library/Formula/awscli.rb

Isso deve ser oficializado

Alguém sabe como usar o pip para instalar o awscli depois de instalar o Python com o Homebrew? Parece que o caminho dos arquivos está errado em algum lugar, pois está procurando pelo executável aws-cli em / usr / local / bin /, mas se você fizer isso

sudo pip install awscli 

que o coloca em / usr / bin / ao invés. Recebi o seguinte erro:

Traceback (most recent call last):
   File "/usr/local/bin/aws", line 15, in <module>
   import awscli.clidriver
ImportError: No module named awscli.clidriver

Só estou procurando algumas informações básicas, se alguém não se importar em responder.

O que, se houver alguma coisa, a equipe AWS CLI pode fazer para garantir que estamos mantendo os lançamentos homebrew em sincronia com os lançamentos CLI mais recentes? Normalmente lançamos 1 a 2 vezes por semana. Se oferecermos suporte oficial para isso, precisaremos garantir que podemos ter a mesma cadência de lançamento que nossos outros canais de lançamento normais (pip, instalador integrado, MSIs).

E se bem me lembro, vai haver algum atraso, não importa o quê, porque o PR para as versões CLI atualizadas ainda precisa ser mesclado no branch master do homebrew em cada versão correta?

Novamente, apenas tentando sentir o que está envolvido.

@ iz2140 Eu verificaria qual pip você está usando. Se você instalar o Python com o Homebrew, deverá ter pip instalado em /usr/local/bin/pip . Isso deve instalar o AWS CLI em /usr/local/bin/ .

@jamesls Acabei desinstalando o AWSCLI usando pip e reinstalando com o Homebrew e tudo deu certo. Obrigado!

Eu também adoraria ver uma opção de instalação oficial do Homebrew.

Se alguém não se importasse de responder a algumas das perguntas que fiz aqui , podemos explorar mais esta opção. Marcando como uma solicitação de recurso por enquanto.

O processo de contribuição do Homebrew é explicado aqui: https://github.com/Homebrew/homebrew/blob/master/CONTRIBUTING.md

Eu espero que um diálogo com a equipe do Homebrew após uma solicitação de pull seja o melhor lugar para lidar com suas questões de tempo.

Como estou executando a mesma versão do aws-cli do Homebrew, não tenho certeza se preciso de algo mais do que uma atualização semanal.

Ressalto

@jamesls obrigado por responder. Acho que encontrei algumas respostas para suas perguntas.

Para uma sincronização virtualmente instantânea, basta usar um URL, por exemplo:

brew install https://s3.amazonaws.com/homebrew/formulae/aws-cli.rb

Execute man brew para mostrar a página de manual brew (1) e veja ESPECIFICANDO FÓRMULAS .

Caso contrário, sim, provavelmente haverá algum atraso: De acordo com How To Open a Homebrew Pull Request (e mesclá-lo) , "[os mantenedores do Homebrew] normalmente respondem a todos os PRs dentro de alguns dias."

Observação: se você escolher adicionar uma nova fórmula ao Homebrew Core , nomeie a fórmula aws-cli , não awscli , porque é chamada de aws-cli no Github e no Homebrew Formula Cookbook: A Quick Word on Naming diz: "Nomeie a fórmula como o projeto comercializa o produto. Portanto, é pig-config , não pkgconfig ; sdl_mixer , não ssl-mixer ou sdlmixer . " O mesmo vale para o nome do pacote pip. Veja # 2090.

Abaixo estão mais alguns links que descobri que documentam como criar e atualizar uma fórmula Homebrew.

Isso responde às suas perguntas?

Muitas felicidades e boa sorte no suporte oficial à instalação do AWS CLI via Homebrew!

Se você tiver mais perguntas, dúvidas ou solicitações, entre em contato conosco.

Para sua informação, existem alguns links mortos lá @mattdipasquale

Obrigado, @dijonkitchen. Acho que revivi todos eles.

Se a equipe da AWS vai tão longe a ponto de manter sua própria receita de cerveja, eles podem dar um passo adiante e criar uma torneira.

Isso explica o significado de brew tap . https://github.com/Homebrew/brew/blob/master/docs/brew-tap.md

Essencialmente, o que isso significa é que essa conta github aws criaria um repositório chamado [algo como] "homebrew-aws" e colocaria a receita lá.

@jamesls deve estar familiarizado com este conceito, já que fez isso para jmespath em https://github.com/jmespath/homebrew-jmespath
Portanto, para responder à sua pergunta acima , sugiro que adicione a fórmula ao seu jmespath / homebrew-jmespath ou crie um repositório aws / homebrew-aws. Em seguida, atualize a referência ao brew em http://docs.aws.amazon.com/cli/latest/userguide/installing.html#choosing -an-installation-method para descrever como fazer ...

brew tap jmespath/jmespath
brew install jmespath/jmespath/awscli

...ou...

brew tap aws/aws
brew install aws/aws/awscli

... como um método oficial de instalação. Se você não fizer isso, para melhor ou para pior https://github.com/Homebrew/homebrew-core/blob/master/Formula/awscli.rb é o que a maioria dos usuários de Mac vai instalar porque isso parece muito ruim oficial...

$ brew info awscli
awscli: stable 1.11.5 (bottled), HEAD
Official Amazon AWS command-line interface
https://aws.amazon.com/cli/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/awscli.rb

@mattdipasquale seu https://s3.amazonaws.com/homebrew/formulae/aws-cli.rb url acima parece ter problemas.

$ curl -s https://s3.amazonaws.com/homebrew/formulae/aws-cli.rb | xmllint --format -
<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>AllAccessDisabled</Code>
  <Message>All access to this object has been disabled</Message>
  <RequestId>636AE6C270CD649F</RequestId>
  <HostId>y8HMrOTA5l7SMOQM5uh0xZ5tdCumNk8td0RPLJh53kVHypP+K1s7OD8pJLSlcs70rsfzTDGEXDg=</HostId>
</Error>

@RichardBronosky Acho que @mattdipasquale apenas quis dizer isso como um exemplo.

Outro +1 por apenas adicionar as informações sugeridas ao README por enquanto. Parece que eles estão acompanhando de perto o suficiente na maior parte do tempo. Estou usando a fórmula deles para manter o aws-cli atualizado, e isso não parece ser um problema.

Análise rápida de deltas de tempo entre os lançamentos da equipe AWS e os mantenedores do Homebrew aqui , junto com a essência dos bits de hacky para chegar à análise .

Existe atualmente alguma razão para não usar o Homebrew em vez do pip para instalar e manter as ferramentas de linha de comando da AWS?

O procedimento para migrar uma instalação existente baseada em pip para o Homebrew é uma simples questão de

pip uninstall awsebcli
pip uninstall awscli
brew install awscli
brew install awsebcli

Ou há algo mais?

@orome Deve funcionar, parece que o pacote homebrew está bem atualizado. No entanto, não oferecemos nenhuma garantia de que funcionará, então, se a fórmula quebrar, você precisará procurar a ajuda de quem está fazendo a manutenção.

@JordonPhillips : E só para confirmar:

  1. não há nada diferente sobre as duas abordagens (pelo menos não intencionalmente; por exemplo, caminhos, locais de configurações, etc); e
  2. não há nada destrutivo nas pip uninstall ... etapas listadas acima (não perderei configurações ou certificados).

Correto?

Pode não ser um problema, mas se o python (2) e o python3 forem instalados via brew, instalar o awscli também por meio dos padrões do brew para a compilação do python 2.7. Estou perdendo algo em como meu PATH está configurado? Existe alguma maneira de brew install awscli usar a compilação python3?

brew install awscli instala 1.11.80 (desenvolver, eu acho) versus 1.10.38 que considero a versão estável. consulte: https://aws.amazon.com/releasenotes/CLI?browse=1

brew install awscli --HEAD resulta na mesma versão.

Do post no topo deste tópico, eu esperava que o primeiro instalasse 1.10.38 e a instalação --HEAD resultasse em 1.11.80. Qualquer esclarecimento apreciado.

nota: movendo isso para homebrew

@jdhom Você pode

Tenho a mesma pergunta que @sksea :

Pode não ser um problema, mas se o python (2) e o python3 forem instalados via brew, instalar o awscli também por meio dos padrões do brew para a compilação do python 2.7. Estou perdendo algo em como meu PATH está configurado? Existe alguma maneira de fazer o brew install awscli usar a compilação python3?

Eu quero saber isso também -

Pode não ser um problema, mas se o python (2) e o python3 forem instalados via brew, instalar o awscli também por meio dos padrões do brew para a compilação do python 2.7. Estou perdendo algo em como meu PATH está configurado? Existe alguma maneira de fazer o brew install awscli usar a compilação python3?

Refletindo sobre isso, sinto que a abordagem certa agora é aproveitar um microcontêiner docker com awscli instalado e aproveitar esse pacote para controlar remotamente esse contêiner, que conteria uma versão pré-instalada do cli oficial.

@ manik-chopra @sksea Não encontrei uma maneira de fazer com que o awscli use o python3 via brew, mas uma alternativa é usar o instalador empacotado . Você pode fazer com que seu awscli use a compilação python3. Existem instruções para usar uma versão específica do python na etapa 3. Esta não é uma solução homebrew, mas se você realmente precisa fazer isso, esta é uma maneira.

O instalador empacotado requer: Python 2 versão 2.6.5+ ou Python 3 versão 3.3+ e não é como o pacote Homebrew funciona AFAIK. Como resultado, não está claro se o uso do instalador empacotado é uma sugestão para resolver esse problema ou apenas uma solução alternativa.

Batendo nisso novamente. Se pudermos apenas adicionar as informações ao README, acho que isso pode ser fechado.

Os mantenedores da fórmula do Homebrew a atualizaram dentro de 3 dias de um novo lançamento do awscli desde que essa solicitação foi feita em 2014, em média; @jamesls levantou em relação a permanecer em sincronia. Construir isso com Python 3 vs. Python 2 é uma questão para o Homebrew e não para a equipe awscli.

Eu sou +2 neste. Parece um pouco bobo ainda estar flutuando mais de três anos após o pedido.

* Análise disponível aqui ; código de baixa qualidade que o gera aqui .

Isso é fundamental e deve estar no AWS Docs como uma opção compatível. Em comparação com outras ferramentas, a instalação do AWS CLI é em várias etapas e complicada para muitos usuários (não tão ruim, mas não tão simples quanto brew install ).

Bom Dia!

Estamos encerrando esse problema aqui no GitHub, como parte de nossa migração para o UserVoice para solicitações de recursos envolvendo o AWS CLI.

Isso nos permitirá fornecer os recursos mais importantes para você, tornando mais fácil pesquisar e mostrar suporte para os recursos que você mais gosta, sem diluir a conversa com relatórios de bug.

Como uma cartilha rápida do UserVoice (se ainda não for familiar): depois que uma ideia é postada, as pessoas podem votar nas ideias e a equipe do produto responderá diretamente às sugestões mais populares.

Importamos solicitações de recursos existentes do GitHub - procure por esse problema lá!

E não se preocupe, esse problema ainda existirá no GitHub para o bem da posteridade. Como é uma importação somente de texto da postagem original para o UserVoice, ainda teremos em mente os comentários e a discussão que já existem aqui sobre o problema do GitHub.

O GitHub continuará sendo o canal para relatar bugs.

Mais uma vez, esse problema agora pode ser encontrado pesquisando o título em: https://aws.uservoice.com/forums/598381-aws-command-line-interface

- A equipe de SDKs e ferramentas da AWS

Esta entrada pode ser encontrada especificamente no UserVoice em: https://aws.uservoice.com/forums/598381-aws-command-line-interface/suggestions/33168301-install-aws-cli-using-homebrew

🤣

Olá, @ASayre. Eu reconheço que esta é apenas uma pequena parte da sua migração em massa e que você provavelmente está recebendo muito barulho em torno de tudo isso. Esse problema poderia ser resolvido com uma atualização do README e pronto. Está esperando há 3 anos que alguém se importe o suficiente para fazer essa atualização.

Boa sorte em seus futuros empreendimentos.

PR # 3193 criado para isso. Upvote / pester lá! 😆

Com base no feedback da comunidade, decidimos retornar as solicitações de recursos para os problemas do GitHub.

Acabei de perder uma hora executando comandos ruby, instalando python / pip, tentando mexer com minhas variáveis ​​PATH, e ainda não funcionou. Alguém deve deletar completamente todo o conteúdo desta página e apenas substituí-lo por "execute brew install awscli ".

Isso funcionou para mim em High Sierra:

sudo pip install awscli --ignore-installed six

O site uservoice, mencionado acima, parece morto: https://aws.uservoice.com/forums/598381-aws-command-line-interface

This site is not currently active

@alecmroo veja o comentário de @jamesls acima:

Com base no feedback da comunidade, decidimos retornar as solicitações de recursos para os problemas do GitHub.

Não instala o AWS CLI mais recente: brew install awscli --HEAD

informações da cerveja awscli: awscli: estável 1.15.40 (engarrafado), HEAD

A versão mais recente do AWS CLI deve ser: 1.15.47

Não consigo executar este comando: aws ec2 modify-vpc-tenancy

Alguém sabe como posso usar o brew para instalar o AWS CLI versão 1.15.47 ..?

Deve ser apenas @ alguma versão #: https://docs.brew.sh/Versions

Esta página foi útil?
0 / 5 - 0 avaliações