Aws-cli: Instalar aws-cli usando Homebrew

Creado en 29 mar. 2014  ·  42Comentarios  ·  Fuente: aws/aws-cli

Mi fórmula awscli se ha fusionado y está oficialmente disponible con Homebrew .

Sería útil agregar Homebrew como una opción de instalación en el archivo README.

Como sugerencia algo como esto,

Homebrew en Mac OS X

aws-cli también se puede instalar usando el administrador de paquetes Homebrew en Mac OS X:

brew install awscli

Si desea la versión de desarrollo de aws-cli:

brew install awscli --HEAD

Después de la instalación, brew proporcionará instrucciones para completar la instalación y dónde encontrar ejemplos sobre cómo usar aws-cli.

feature-request installation

Comentario más útil

Acordado. Homebrew atrae a una audiencia mucho más amplia que pip.

Todos 42 comentarios

Acordado. Homebrew atrae a una audiencia mucho más amplia que pip.

El historial de versiones es bastante bueno, pero todavía un poco irregular. https://github.com/Homebrew/homebrew/commits/master/Library/Formula/awscli.rb

Esto debería hacerse oficial

¿Alguien sabe cómo usar pip para instalar awscli después de instalar Python con Homebrew? Parece que los archivos de ruta van mal en algún lugar, ya que está buscando el ejecutable aws-cli en / usr / local / bin / pero si lo hace

sudo pip install awscli 

que lo coloca en / usr / bin / en su lugar. Tuve el siguiente error:

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

Solo estoy buscando información de fondo si a alguien no le importaría responder.

¿Qué puede hacer, si es que puede hacer algo, el equipo de la AWS CLI para garantizar que mantenemos las versiones de homebrew sincronizadas con las últimas versiones de la CLI? Normalmente lanzamos de 1 a 2 veces por semana. Si lo admitimos oficialmente, tendremos que asegurarnos de que podemos tener la misma cadencia de lanzamiento que nuestros otros canales de lanzamiento normales (pip, instalador incluido, MSI).

Y si recuerdo correctamente, habrá un retraso sin importar qué, porque el PR para las versiones CLI actualizadas aún debe fusionarse en la rama maestra de homebrew en cada versión, ¿es correcto?

Una vez más, solo estoy tratando de tener una idea de lo que está involucrado.

@ iz2140 Verificaría dos pip instalado en /usr/local/bin/pip . Eso debería instalar la AWS CLI en /usr/local/bin/ .

@jamesls Terminé simplemente desinstalando AWSCLI usando pip y volviendo a instalar con Homebrew y todo salió bien. Pero gracias!

También me encantaría ver una opción de instalación oficial de Homebrew.

Si a alguien no le importaría intervenir en algunas de las preguntas que hice aquí , podemos explorar esta opción más a fondo. Marcando como una solicitud de función por ahora.

El proceso de contribución de Homebrew se explica aquí: https://github.com/Homebrew/homebrew/blob/master/CONTRIBUTING.md

Espero que un diálogo con el equipo de Homebrew después de una solicitud de extracción sea el mejor lugar para abordar sus preguntas de tiempo.

Dado que he estado ejecutando la misma versión de aws-cli de Homebrew, no estoy seguro de que necesite algo más que una actualización semanal.

Protuberancia

@jamesls gracias por responder. Creo que encontré algunas respuestas a tus preguntas.

Para una sincronía prácticamente instantánea, solo use una URL, por ejemplo:

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

Ejecute man brew para mostrar la página de manual de brew (1) y consulte ESPECIFICAR FÓRMULAS .

De lo contrario, sí, probablemente habrá algún retraso: según Cómo abrir una solicitud de extracción de Homebrew (y fusionarla) , "[los mantenedores de Homebrew] suelen responder a todos los RP en un par de días".

Nota: Si elige agregar una nueva fórmula a Homebrew Core , nombre la fórmula aws-cli , no awscli , porque se llama aws-cli en Github y Homebrew Formula Cookbook: A Quick Word on Naming dice: "Nombra la fórmula como el proyecto comercializa el producto. Por lo tanto, es pig-config , no pkgconfig ; sdl_mixer , no ssl-mixer o sdlmixer . " Lo mismo ocurre con el nombre del paquete pip. Vea el n. ° 2090.

A continuación se muestran algunos enlaces más que encontré que documentan cómo crear y actualizar una fórmula Homebrew.

¿Eso responde a tus preguntas?

¡Mis mejores deseos y buena suerte para respaldar oficialmente la instalación de AWS CLI a través de Homebrew!

Si tiene más preguntas, inquietudes o solicitudes, háganoslo saber.

Para su información, hay algunos enlaces muertos allí @mattdipasquale

Gracias, @dijonkitchen. Creo que los reviví a todos.

Si el equipo de AWS va a llegar tan lejos como para mantener su propia receta de preparación, también podrían ir un paso más allá y crear un grifo.

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

Esencialmente, lo que eso significa es que esta cuenta de github aws crearía un repositorio llamado [algo así como] "homebrew-aws" y pondría la receta allí.

@jamesls debe estar familiarizado con este concepto ya que lo ha hecho para jmespath en https://github.com/jmespath/homebrew-jmespath
Entonces, para responder a su pregunta anterior , sugeriría que agregue la fórmula a su jmespath / homebrew-jmespath o cree un repositorio aws / homebrew-aws. Luego actualice la referencia a brew en http://docs.aws.amazon.com/cli/latest/userguide/installing.html#choosing -an-installation-method para describir cómo hacer ...

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

...o...

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

... como método de instalación oficial. Si no lo hace, entonces, para bien o para mal, https://github.com/Homebrew/homebrew-core/blob/master/Formula/awscli.rb es lo que la mayoría de los usuarios de Mac van a instalar porque se ve bastante maldito 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, su https://s3.amazonaws.com/homebrew/formulae/aws-cli.rb URL anterior parece tener 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 Creo que @mattdipasquale solo quiso decir eso como un ejemplo.

Otro +1 por solo agregar la información sugerida al README por ahora. Parece que han estado siguiendo lo suficientemente de cerca en su mayor parte. Estoy usando su fórmula para mantener aws-cli actualizado y no parece ser un problema.

Análisis rápido de los deltas de tiempo entre lanzamientos del equipo de AWS y los mantenedores de Homebrew aquí , junto con la esencia de los bits hacky para llegar al análisis .

¿Existe actualmente alguna razón para no usar Homebrew sobre pip para instalar y mantener las herramientas de línea de comandos de AWS?

¿Es el procedimiento para migrar una instalación existente basada en pip a Homebrew una simple cuestión de

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

¿O hay algo más?

@orome Debería funcionar, parece que el paquete homebrew está bastante actualizado. Sin embargo, no ofrecemos ninguna garantía de que funcione, por lo que si la fórmula se rompe, deberá buscar ayuda de quien la esté manteniendo.

@JordonPhillips : Y solo para confirmar:

  1. no hay nada diferente en los dos enfoques (al menos no intencionalmente; por ejemplo, rutas, ubicaciones de configuraciones, etc.); y
  2. no hay nada destructivo en los pasos pip uninstall ... enumerados anteriormente (no perderé configuraciones ni certificados).

¿Correcto?

Puede que no sea un problema, pero si tanto python (2) como python3 se instalan a través de brew, la instalación de awscli también a través de los valores predeterminados de brew en la compilación de python 2.7. ¿Me falta algo en la configuración de mi PATH? ¿Hay alguna forma de que brew install awscli use la compilación python3?

brew install awscli instala 1.11.80 (desarrollo, supongo) versus 1.10.38 que tomo como la versión estable. ver: https://aws.amazon.com/releasenotes/CLI?browse=1

brew install awscli --HEAD da como resultado la misma versión.

Desde la publicación en la parte superior de este hilo, esperaba que el primero instalara 1.10.38 y la instalación de --HEAD diera como resultado 1.11.80. Se agradece cualquier aclaración.

nota: moviendo esto a homebrew

@jdhom ¿Puede vincular dónde continúa este problema en Homebrew?

Tengo la misma pregunta que @sksea :

Puede que no sea un problema, pero si tanto python (2) como python3 se instalan a través de brew, la instalación de awscli también a través de los valores predeterminados de brew en la compilación de python 2.7. ¿Me falta algo en la configuración de mi PATH? ¿Hay alguna forma de hacer que brew install awscli use la compilación python3?

Quiero saber esto también -

Puede que no sea un problema, pero si tanto python (2) como python3 se instalan a través de brew, la instalación de awscli también a través de los valores predeterminados de brew en la compilación de python 2.7. ¿Me falta algo en la configuración de mi PATH? ¿Hay alguna forma de hacer que brew install awscli use la compilación python3?

Pensando en esto de nuevo, siento que el enfoque correcto ahora es aprovechar un microcontenedor docker con awscli instalado y aprovechar este paquete para controlar remotamente ese contenedor, que contendría una versión preinstalada del cli oficial.

@ manik-chopra @sksea No he encontrado una manera de que awscli use python3 a través de brew, pero una alternativa es usar el instalador incluido . Puede hacer que su awscli use la compilación python3. Hay instrucciones para usar una versión específica de Python en el paso 3. Esta no es una solución casera, pero si es absolutamente necesario hacerlo, esta es una forma.

El instalador incluido requiere: Python 2 versión 2.6.5+ o Python 3 versión 3.3+ y no es como funciona el paquete Homebrew AFAIK. Como resultado, no está claro si el uso del instalador incluido es una sugerencia para resolver este problema o simplemente una solución alternativa.

Golpeando esto de nuevo. Si pudiéramos agregar la información al archivo README, creo que esto podría cerrarse.

Los mantenedores de la fórmula Homebrew la han actualizado dentro de los 3 días posteriores al lanzamiento de un nuevo awscli desde que se realizó esta solicitud en 2014, en promedio; @jamesls con respecto a mantenerse sincronizados. Construir esto con Python 3 vs Python 2 es una pregunta para Homebrew y no para el equipo de awscli.

Tengo +2 en este. Parece un poco tonto que todavía esté flotando más de tres años después de la solicitud.

* Análisis disponible aquí ; código de mierda que lo genera aquí .

Esto es clave y debería estar en AWS Docs como una opción compatible. En comparación con otras herramientas, la instalación de la AWS CLI es de varios pasos y complicada para muchos usuarios (no tan mal, pero no tan simple como brew install ).

¡Buenos días!

Cerramos este problema aquí en GitHub, como parte de nuestra migración a UserVoice para solicitudes de funciones relacionadas con la AWS CLI.

Esto nos permitirá ofrecerle las funciones más importantes, al facilitar la búsqueda y mostrar soporte para las funciones que más le interesan, sin diluir la conversación con informes de errores.

Como introducción rápida a UserVoice (si no está familiarizado): después de que se publica una idea, la gente puede votar sobre las ideas y el equipo de producto responderá directamente a las sugerencias más populares.

Hemos importado solicitudes de funciones existentes desde GitHub: busque este problema allí.

Y no se preocupe, este problema seguirá existiendo en GitHub por el bien de la posteridad. Como es una importación de solo texto de la publicación original en UserVoice, seguiremos teniendo en cuenta los comentarios y la discusión que ya existen aquí sobre el problema de GitHub.

GitHub seguirá siendo el canal para informar errores.

Una vez más, este problema ahora se puede encontrar buscando el título en: https://aws.uservoice.com/forums/598381-aws-command-line-interface

-El equipo de herramientas y SDK de AWS

Esta entrada se puede encontrar específicamente en UserVoice en: https://aws.uservoice.com/forums/598381-aws-command-line-interface/suggestions/33168301-install-aws-cli-using-homebrew

🤣

Hola, @ASayre. Reconozco que esto es solo una pequeña parte de su migración masiva, y que probablemente esté recibiendo mucho ruido alrededor de todo eso. Este problema podría resolverse con una actualización del archivo README y estar listo. Ha estado esperando durante 3 años a que alguien se preocupe lo suficiente como para hacer esa actualización.

Buena suerte en sus futuros emprendimientos.

PR # 3193 creado para esto. ¡Vota / molesta allí! 😆

Según los comentarios de la comunidad, hemos decidido devolver las solicitudes de funciones a los problemas de GitHub.

Perdí una hora ejecutando comandos ruby, instalando python / pip, tratando de jugar con mis variables PATH, y aún así no funcionó. Alguien debería eliminar por completo todo el contenido de esta página y simplemente reemplazarlo con "ejecutar brew install awscli ".

Esto funcionó para mí en High Sierra:

sudo pip install awscli --ignore-installed six

El sitio de uservoice, mencionado anteriormente, parece muerto: https://aws.uservoice.com/forums/598381-aws-command-line-interface

This site is not currently active

@alecmroo vea el comentario de @jamesls arriba:

Según los comentarios de la comunidad, hemos decidido devolver las solicitudes de funciones a los problemas de GitHub.

No instala la última AWS CLI: brew install awscli --HEAD

brew info awscli: awscli: estable 1.15.40 (embotellado), HEAD

La última versión de AWS CLI debe ser: 1.15.47

No puedo ejecutar este comando: aws ec2 modified-vpc-tenancy

¿Alguien sabe cómo puedo usar brew para instalar AWS CLI versión 1.15.47 ..?

Debería ser @ alguna versión #: https://docs.brew.sh/Versions

¿Fue útil esta página
0 / 5 - 0 calificaciones