Construir e instalar el AWS CLI desde la fuente - AWS Command Line Interface

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Construir e instalar el AWS CLI desde la fuente

En este tema, se describe cómo instalar o actualizar desde el origen la última versión de la AWS Command Line Interface (AWS CLI) en sistemas operativos compatibles.

Para obtener información sobre las últimas versiones de AWS CLI, consulte el registro de cambios de la AWS CLI versión 2 en. GitHub

importante

AWS CLI las versiones 1 y 2 utilizan el mismo nombre de aws comando. Si ya instaló la AWS CLI versión 1, consulteMigración de la AWS CLI versión 1 a la AWS CLI versión 2.

¿Por qué compilar desde el origen?

Están AWS CLI disponibles como instaladores prediseñados para la mayoría de las plataformas y entornos, así como una imagen de Docker.

Por lo general, estos instaladores ofrecen cobertura de la mayoría de los casos de uso. Las instrucciones de instalación desde el origen sirven para ayudar en los casos de uso que nuestros instaladores no cubren. A continuación, se indican algunos casos de uso:

  • Los instaladores prediseñados no son compatibles con su entorno. Por ejemplo, los ARM instaladores prediseñados no admiten 32 bits.

  • Los instaladores prediseñados tienen dependencias de las que carece su entorno. Por ejemplo, Alpine Linux usa musl, pero los instaladores actuales requieren glibc, por lo que los instaladores prediseñados no funcionan inmediatamente.

  • Los instaladores prediseñados requieren recursos a los que su entorno restringe el acceso. Por ejemplo, es posible que los sistemas con seguridad reforzada no concedan permisos a la memoria compartida. Esto es necesario para el instalador de aws congelado.

  • Los instaladores prediseñados suelen ser un obstáculo para los mantenedores en los administradores de paquetes, ya que es preferible tener un control total del proceso de compilación del código y los paquetes. La creación a partir del código fuente permite a los responsables de la distribución un proceso más ágil para mantener la información actualizada. AWS CLI Habilitar a los mantenedores ofrece a los clientes más up-to-date versiones de AWS CLI cuando las instalan desde un administrador de paquetes de terceros, como, y. brew yum apt

  • Los clientes que parchean AWS CLI la funcionalidad requieren compilar e instalar la funcionalidad AWS CLI desde el código fuente. Esto es especialmente importante para los miembros de la comunidad que desean probar los cambios que han realizado en la fuente antes de contribuir con el cambio al AWS CLI GitHub repositorio.

Pasos rápidos

nota

Se asume que todo el código de ejemplo se ejecuta desde la raíz del directorio de origen.

Para compilar e instalar el AWS CLI archivo desde el código fuente, sigue los pasos de esta sección. Utiliza GNUAutotools para AWS CLI realizar la instalación desde el código fuente. En el caso más simple, se AWS CLI puede instalar desde la fuente ejecutando los comandos de ejemplo predeterminados desde la raíz del AWS CLI GitHub repositorio.

  1. Configure todos los requisitos de su entorno. Esto incluye poder ejecutar archivos generados por GNUAutotools y tener instalado Python 3.8 o posterior.

  2. En su terminal, navegue hasta el nivel superior de la carpeta de AWS CLI origen y ejecute el ./configure comando. Este comando comprueba si el sistema tiene todas las dependencias necesarias y genera una Makefile para compilarlas e instalarlas en AWS CLI función de las configuraciones detectadas y especificadas.

    Linux and macOS

    El siguiente ejemplo de ./configure comando establece la configuración de compilación AWS CLI utilizando los parámetros predeterminados.

    $ ./configure
    Windows PowerShell

    Antes de ejecutar cualquier llamada a un comandoMSYS2, debe conservar su directorio de trabajo actual:

    PS C:\> $env:CHERE_INVOKING = 'yes'

    A continuación, utilice el siguiente ejemplo de ./configure comando para establecer la configuración de compilación para AWS CLI utilizar la ruta local al ejecutable de Python, instalar en C:\Program Files\ AWSCLI y descargar todas las dependencias.

    PS C:\> C:\msys64\usr\bin\bash -lc " PYTHON='C:\path\to\python.exe' ./configure --prefix='C:\Program Files\AWSCLI' --with-download-deps "

    Para obtener más información, las opciones de configuración disponibles y la información de configuración predeterminada, consulte la sección Paso 2: configurar la instalación de origen de la AWS CLI.

  3. Ejecute el comando make. Este comando lo crea de AWS CLI acuerdo con sus ajustes de configuración.

    El siguiente comando make de ejemplo se compila con las opciones predeterminadas utilizando la configuración existente de ./configure.

    Linux and macOS
    $ make
    Windows PowerShell
    PS C:\> C:\msys64\usr\bin\bash -lc "make"

    Para obtener más información y las opciones de compilación disponibles, consulte la sección Paso 3: compilar la AWS CLI.

  4. Ejecute el comando make install. Este comando instala la AWS CLI compilada en la ubicación configurada del sistema.

    El siguiente comando make install de ejemplo instala la AWS CLI compilada y se crean los symlinks en las ubicaciones configuradas utilizando la configuración predeterminada del comando.

    Linux and macOS
    $ make install
    Windows PowerShell
    PS C:\> C:\msys64\usr\bin\bash -lc "make install"

    Tras la instalación, añada la ruta al AWS CLI mediante lo siguiente:

    PS C:\> $Env: PATH +=";C:\Program Files\AWSCLI\bin\"

    Para obtener más información y conocer las opciones de instalación disponibles, consulte la sección Paso 4: instalar la AWS CLI.

  5. Confirme que la instalación se AWS CLI ha realizado correctamente mediante el siguiente comando:

    $ aws --version aws-cli/2.17.20 Python/3.11.6 Windows/10 exe/AMD64 prompt/off

    Para conocer los pasos de solución de problemas de los errores de instalación, consulte la sección Solución de problemas de AWS CLI instalación y desinstalación.

Paso 1: configurar todos los requisitos

Para compilarlo AWS CLI desde el código fuente, debe completar lo siguiente de antemano:

nota

Se asume que todo el código de ejemplo se ejecuta desde la raíz del directorio de origen.

  1. Descarga la AWS CLI fuente bifurcando el AWS CLI GitHub repositorio o descargando el tarball fuente. Las instrucciones son una de las siguientes:

    • Bifurca y clona el AWS CLI repositorio desde. GitHub Para obtener más información, consulta Bifurcar un repositorio en los GitHubdocumentos.

    • Descarga el archivo tarball fuente más reciente en https://awscli.amazonaws.com/awscli.tar.gz y extrae el contenido mediante los siguientes comandos:

      $ curl -o awscli.tar.gz https://awscli.amazonaws.com/awscli.tar.gz $ tar -xzf awscli.tar.gz
      nota

      Para descargar una versión específica, utilice el siguiente formato de enlace: https://awscli.amazonaws.com /awscli-versionnumber.tar.gz

      Por ejemplo, para la versión 2.10.0, el enlace es el siguiente: /awscli- https://awscli.amazonaws.com.rproxy.goskope.com2.10.0.tar.gz

      Las versiones de origen están disponibles a partir de la versión 2.10.0 de la AWS CLI.

      (Opcional) Verificación de la integridad del archivo zip descargado mediante los siguientes pasos

      1. Puede seguir los pasos indicados a continuación para verificar las firmas con la herramienta GnuPG.

        Los .zip archivos del paquete del AWS CLI instalador se firman criptográficamente mediante firmas. PGP Si hay algún tipo de daño o alteración en los archivos, esta verificación produce un error, por lo que no debería continuar con la instalación.

      2. Descargue e instale el comando gpg usando su administrador de paquetes. Para obtener más información acerca de GnuPG, consulte el sitio web de GnuPG.

      3. Para crear el archivo de clave pública, cree un archivo de texto y pegue el siguiente texto en él:

        -----BEGIN PGP PUBLIC KEY BLOCK----- mQINBF2Cr7UBEADJZHcgusOJl7ENSyumXh85z0TRV0xJorM2B/JL0kHOyigQluUG ZMLhENaG0bYatdrKP+3H91lvK050pXwnO/R7fB/FSTouki4ciIx5OuLlnJZIxSzx PqGl0mkxImLNbGWoi6Lto0LYxqHN2iQtzlwTVmq9733zd3XfcXrZ3+LblHAgEt5G TfNxEKJ8soPLyWmwDH6HWCnjZ/aIQRBTIQ05uVeEoYxSh6wOai7ss/KveoSNBbYz gbdzoqI2Y8cgH2nbfgp3DSasaLZEdCSsIsK1u05CinE7k2qZ7KgKAUIcT/cR/grk C6VwsnDU0OUCideXcQ8WeHutqvgZH1JgKDbznoIzeQHJD238GEu+eKhRHcz8/jeG 94zkcgJOz3KbZGYMiTh277Fvj9zzvZsbMBCedV1BTg3TqgvdX4bdkhf5cH+7NtWO lrFj6UwAsGukBTAOxC0l/dnSmZhJ7Z1KmEWilro/gOrjtOxqRQutlIqG22TaqoPG fYVN+en3Zwbt97kcgZDwqbuykNt64oZWc4XKCa3mprEGC3IbJTBFqglXmZ7l9ywG EEUJYOlb2XrSuPWml39beWdKM8kzr1OjnlOm6+lpTRCBfo0wa9F8YZRhHPAkwKkX XDeOGpWRj4ohOx0d2GWkyV5xyN14p2tQOCdOODmz80yUTgRpPVQUtOEhXQARAQAB tCFBV1MgQ0xJIFRlYW0gPGF3cy1jbGlAYW1hem9uLmNvbT6JAlQEEwEIAD4WIQT7 Xbd/1cEYuAURraimMQrMRnJHXAUCXYKvtQIbAwUJB4TOAAULCQgHAgYVCgkICwIE FgIDAQIeAQIXgAAKCRCmMQrMRnJHXJIXEAChLUIkg80uPUkGjE3jejvQSA1aWuAM yzy6fdpdlRUz6M6nmsUhOExjVIvibEJpzK5mhuSZ4lb0vJ2ZUPgCv4zs2nBd7BGJ MxKiWgBReGvTdqZ0SzyYH4PYCJSE732x/Fw9hfnh1dMTXNcrQXzwOmmFNNegG0Ox au+VnpcR5Kz3smiTrIwZbRudo1ijhCYPQ7t5CMp9kjC6bObvy1hSIg2xNbMAN/Do ikebAl36uA6Y/Uczjj3GxZW4ZWeFirMidKbtqvUz2y0UFszobjiBSqZZHCreC34B hw9bFNpuWC/0SrXgohdsc6vK50pDGdV5kM2qo9tMQ/izsAwTh/d/GzZv8H4lV9eO tEis+EpR497PaxKKh9tJf0N6Q1YLRHof5xePZtOIlS3gfvsH5hXA3HJ9yIxb8T0H QYmVr3aIUes20i6meI3fuV36VFupwfrTKaL7VXnsrK2fq5cRvyJLNzXucg0WAjPF RrAGLzY7nP1xeg1a0aeP+pdsqjqlPJom8OCWc1+6DWbg0jsC74WoesAqgBItODMB rsal1y/q+bPzpsnWjzHV8+1/EtZmSc8ZUGSJOPkfC7hObnfkl18h+1QtKTjZme4d H17gsBJr+opwJw/Zio2LMjQBOqlm3K1A4zFTh7wBC7He6KPQea1p2XAMgtvATtNe YLZATHZKTJyiqA== =vYOk -----END PGP PUBLIC KEY BLOCK-----

        Como referencia, a continuación se indican los detalles de la clave pública.

        Key ID: A6310ACC4672 Type: RSA Size: 4096/4096 Created: 2019-09-18 Expires: 2023-09-17 User ID: AWS CLI Team <aws-cli@amazon.com> Key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
      4. Importe la clave AWS CLI pública con el siguiente comando, sustituyéndola public-key-file-name con el nombre de archivo de la clave pública que ha creado.

        $ gpg --import public-key-file-name gpg: /home/username/.gnupg/trustdb.gpg: trustdb created gpg: key A6310ACC4672475C: public key "AWS CLI Team <aws-cli@amazon.com>" imported gpg: Total number processed: 1 gpg: imported: 1
      5. Descargue el archivo de AWS CLI firma del paquete que descargó en https://awscli.amazonaws.com/awscli.tar.gz.sig. Tiene la misma ruta y el mismo nombre que el archivo tarball al que corresponde, pero con la extensión .sig. Guárdelo en la misma ruta que el archivo tarball. O utilice el siguiente bloque de comandos:

        $ curl -o awscliv2.sig https://awscli.amazonaws.com/awscli.tar.gz.sig
      6. Verifique la firma pasando los nombres de archivo .sig y .zip como parámetros al comando gpg.

        $ gpg --verify awscliv2.sig awscli.tar.gz

        El resultado de debería parecerse al siguiente.

        gpg: Signature made Mon Nov 4 19:00:01 2019 PST gpg: using RSA key FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C gpg: Good signature from "AWS CLI Team <aws-cli@amazon.com>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: FB5D B77F D5C1 18B8 0511 ADA8 A631 0ACC 4672 475C
        importante

        Se espera la advertencia en la salida y ello no indica un problema. Se produce porque no hay una cadena de confianza entre su clave personal PGP (si la tiene) y la clave. AWS CLI PGP Para obtener más información, consulte Red de confianza.

  2. Dispone de un entorno en el que se pueden ejecutar archivos generados por GNUAutotools, como configure yMakefile. Estos archivos son ampliamente portátiles entre POSIX plataformas.

    Linux and macOS

    Si Autotools aún no está instalado en su entorno o necesita actualizarlo, siga las instrucciones de instalación que se encuentran en ¿Cómo se instalan las Autotools (como usuario)? o Instalación básica en la GNU documentación.

    Windows PowerShell
    aviso

    Le sugerimos que si se encuentra en un entorno Windows, utilice los instaladores prediseñados. Para obtener las instrucciones de instalación de los instaladores prediseñados, consulte Instalación o actualización a la última versión del AWS CLI

    Como Windows no viene con un shell POSIX compatible, es necesario instalar software adicional para instalarlo AWS CLI desde el código fuente. MSYS2proporciona una colección de herramientas y bibliotecas que ayudan a crear e instalar el software de Windows, especialmente para las secuencias de comandos POSIX basadas en las que utiliza Autotools.

    1. Instalar. MSYS2 Para obtener información sobre la instalación y el usoMSYS2, consulte las instrucciones de instalación y uso en la MSYS2documentación.

    2. Abra el MSYS2 terminal e instale las herramientas automáticas mediante el siguiente comando.

      $ pacman -S autotools
    nota

    Al utilizar los ejemplos de código de configuración, compilación e instalación de esta guía para Windows, C:\msys64\usr\bin\bash se asume la ruta de MSYS2 instalación predeterminada de. Cuando llames MSYS2 desde dentro de, PowerShell utilizarás el siguiente formato, con el comando bash entre comillas:

    PS C:\> C:\msys64\usr\bin\bash -lc "command example"

    El siguiente comando de ejemplo llama al comando ./configure.

    PS C:\> C:\msys64\usr\bin\bash -lc "./configure"
  3. Se ha instalado un intérprete de Python 3.8 o una versión posterior. La versión mínima de Python requerida sigue los mismos plazos que la política oficial de soporte de Python para AWS SDKs y Herramientas. Los intérpretes solo están disponibles 6 meses después de su end-of-support fecha.

  4. (Opcional) Instale todas las dependencias de compilación y ejecución de la biblioteca de Python de la AWS CLI. El comando ./configure le informa si le falta alguna dependencia y cómo instalarla.

    Puede instalar y utilizar estas dependencias automáticamente mediante la configuración; consulte Descarga de dependencias para obtener más información.

Paso 2: configurar la instalación de origen de la AWS CLI

La configuración para compilar e instalar el AWS CLI se especifica mediante el configure script. Para obtener la documentación de todas las opciones de configuración, ejecute el script configure con la opción --help:

Linux and macOS
$ ./configure --help
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --help"

Ubicación de instalación

La instalación de origen AWS CLI utiliza dos directorios configurables para instalar AWS CLI:

  • libdir- Directorio principal en el AWS CLI que se instalará. La ruta de acceso a la AWS CLI instalación es<libdir-value>/aws-cli. El valor predeterminado de libdir para Linux y macOS es /usr/local/lib, que crea el directorio de instalación predeterminado /usr/local/lib/aws-cli.

  • bindir- Directorio donde están instalados los AWS CLI ejecutables. La ubicación predeterminada es /usr/local/bin.

Las siguientes opciones de configure controlan los directorios utilizados:

  • --prefix: establece el prefijo del directorio que se utilizará para la instalación. El valor predeterminado para Linux y macOS es /usr/local.

  • --libdir: establece el libdir que se utilizará para instalar la AWS CLI. El valor predeterminado es <prefix-value>/lib. Si no se especifican --libdir ni --prefix, el valor predeterminado para Linux y macOS es /usr/local/lib/.

  • --bindir- Establece el bindir que se utilizará para instalar los aws_completer ejecutables AWS CLI aws y. El valor predeterminado es <prefix-value>/bin. Si no se especifican bindir ni --prefix, el valor predeterminado para Linux y macOS es /usr/local/bin/.

Linux and macOS

En el siguiente comando de ejemplo, se utiliza la opción --prefix para realizar una instalación de la AWS CLI por parte del usuario local. Este comando instala el archivo AWS CLI in $HOME/.local/lib/aws-cli y los ejecutables en: $HOME/.local/bin

$ ./configure --prefix=$HOME/.local

El siguiente ejemplo de comando utiliza la --libdir opción de instalar la AWS CLI como aplicación complementaria en el /opt directorio. Este comando instala el AWS CLI at /opt/aws-cli y los ejecutables en su ubicación predeterminada de. /usr/local/bin

$ ./configure --libdir=/opt
Windows PowerShell

En el siguiente comando de ejemplo, se utiliza la opción --prefix para realizar una instalación de la AWS CLI por parte del usuario local. Este comando instala el AWS CLI in $HOME/.local/lib/aws-cli y los ejecutables en: $HOME/.local/bin

$ C:\msys64\usr\bin\bash -lc "./configure --prefix='C:\Program Files\AWSCLI'"

El siguiente ejemplo de comando utiliza la --libdir opción de instalar la AWS CLI como aplicación complementaria en el /opt directorio. Este comando instala el AWS CLI atC:\Program Files\AWSCLI\opt\aws-cli.

Intérprete de Python

nota

Se recomienda encarecidamente especificar el intérprete de Python al realizar la instalación para Windows.

El ./configure script selecciona automáticamente un intérprete de Python 3.8 o posterior instalado para usarlo al crear y ejecutar la AWS CLI macro AM_PATH_PYTHONAutoconf.

El intérprete de Python que se utilice se puede configurar explícitamente mediante la variable de entorno PYTHON al ejecutar el script configure:

Linux and macOS
$ PYTHON=/path/to/python ./configure
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "PYTHON='C:\path\to\python' ./configure"

Descarga de dependencias

De forma predeterminada, se requiere que todas las dependencias de compilación y ejecución de la AWS CLI estén instaladas ya en el sistema. Esto incluye cualquier dependencia de la biblioteca de Python. Todas las dependencias se comprueban cuando se ejecuta el script configure y, si al sistema le falta alguna dependencia de Python, se produce un error en el script configure.

El siguiente ejemplo de código genera un error cuando faltan dependencias en el sistema:

Linux and macOS
$ ./configure checking for a Python interpreter with version >= 3.8... python checking for python... /Users/username/.envs/env3.11/bin/python checking for python version... 3.11 checking for python platform... darwin checking for GNU default python prefix... ${prefix} checking for GNU default python exec_prefix... ${exec_prefix} checking for python script directory (pythondir)... ${PYTHON_PREFIX}/lib/python3.11/site-packages checking for python extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/lib/python3.11/site-packages checking for --with-install-type... system-sandbox checking for --with-download-deps... Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 125, in <module> main() File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 121, in main parsed_args.func(parsed_args) File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 49, in validate validate_env(parsed_args.artifact) File "/Users/username/aws-code/aws-cli/./backends/build_system/validate_env.py", line 68, in validate_env raise UnmetDependenciesException(unmet_deps, in_venv) validate_env.UnmetDependenciesException: Environment requires following Python dependencies: awscrt (required: ('>=0.12.4', '<0.17.0')) (version installed: None) We recommend using --with-download-deps flag to automatically create a virtualenv and download the dependencies. If you want to manage the dependencies yourself instead, run the following pip command: /Users/username/.envs/env3.11/bin/python -m pip install --prefer-binary 'awscrt>=0.12.4,<0.17.0' configure: error: "Python dependencies not met."
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "./configure" checking for a Python interpreter with version >= 3.8... python checking for python... /Users/username/.envs/env3.11/bin/python checking for python version... 3.11 checking for python platform... darwin checking for GNU default python prefix... ${prefix} checking for GNU default python exec_prefix... ${exec_prefix} checking for python script directory (pythondir)... ${PYTHON_PREFIX}/lib/python3.11/site-packages checking for python extension module directory (pyexecdir)... ${PYTHON_EXEC_PREFIX}/lib/python3.11/site-packages checking for --with-install-type... system-sandbox checking for --with-download-deps... Traceback (most recent call last): File "<frozen runpy>", line 198, in _run_module_as_main File "<frozen runpy>", line 88, in _run_code File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 125, in <module> main() File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 121, in main parsed_args.func(parsed_args) File "/Users/username/aws-code/aws-cli/./backends/build_system/__main__.py", line 49, in validate validate_env(parsed_args.artifact) File "/Users/username/aws-code/aws-cli/./backends/build_system/validate_env.py", line 68, in validate_env raise UnmetDependenciesException(unmet_deps, in_venv) validate_env.UnmetDependenciesException: Environment requires following Python dependencies: awscrt (required: ('>=0.12.4', '<0.17.0')) (version installed: None) We recommend using --with-download-deps flag to automatically create a virtualenv and download the dependencies. If you want to manage the dependencies yourself instead, run the following pip command: /Users/username/.envs/env3.11/bin/python -m pip install --prefer-binary 'awscrt>=0.12.4,<0.17.0' configure: error: "Python dependencies not met."

Para instalar automáticamente las dependencias de Python necesarias, utilice la opción --with-download-deps. Al usar este indicador, el proceso de compilación hace lo siguiente:

  • Omite la comprobación de dependencias de la biblioteca de Python.

  • Configura los ajustes para descargar todas las dependencias de Python necesarias y usar solo las dependencias descargadas para compilarlas AWS CLI durante la compilación. make

En el siguiente ejemplo del comando de configuración, se usa la opción --with-download-deps para descargar y usar las dependencias de Python:

Linux and macOS
$ ./configure --with-download-deps
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --with-download-deps"

Tipo de instalación

El proceso de instalación de origen admite los siguientes tipos de instalación:

  • system-sandbox- (Predeterminado) Crea un entorno virtual Python aislado, lo instala AWS CLI en el entorno virtual y enlaza simbólicamente con el aws aws_completer ejecutable del entorno virtual. Esta instalación de AWS CLI depende directamente del intérprete de Python seleccionado para su ejecución.

    Este es un mecanismo de instalación ligero para AWS CLI instalar la instalación en un sistema y sigue las mejores prácticas de Python al aislar la instalación en un entorno virtual. Esta instalación está destinada a los clientes que desean instalarlo AWS CLI desde el código fuente de la manera más sencilla posible con la instalación acoplada a la instalación de Python.

  • portable-exe- Congela el archivo AWS CLI en un ejecutable independiente que se puede distribuir a entornos de arquitecturas similares. Es el mismo proceso que se utiliza para generar los ejecutables oficiales prediseñados de la AWS CLI. La portable-exe se congela en una copia del intérprete de Python elegido en el paso configure para usarlo para el tiempo de ejecución de la AWS CLI. Esto permite moverlo a otras máquinas que es posible que no tengan un intérprete de Python.

    Este tipo de compilaciones es útil porque puede asegurarse de que su AWS CLI instalación no esté acoplada a la versión de Python instalada en el entorno y puede distribuir una compilación a otro sistema que quizás no tenga Python instalado. Esto le permite controlar las dependencias y la seguridad de los AWS CLI ejecutables que utiliza.

Para configurar el tipo de instalación, utilice la opción --with-install-type y especifique un valor de portable-exe o system-sandbox.

En el siguiente comando ./configure de ejemplo, se especifica un valor de portable-exe:

Linux and macOS
$ ./configure --with-install-type=portable-exe
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "./configure --with-install-type=portable-exe"

Paso 3: compilar la AWS CLI

Use el make comando para compilarlo AWS CLI con sus ajustes de configuración:

Linux and macOS
$ make
Windows PowerShell
PS C:\> C:\msys64\usr\bin\bash -lc "make"
nota
Al utilizar el comando make, los siguientes pasos se realizan entre bastidores:
  1. Se crea un entorno virtual en el directorio de compilación mediante el módulo venv de Python. El entorno virtual se inicia con una versión de pip que se suministra en la biblioteca estándar de Python.

  2. Se copian las dependencias de la biblioteca de Python. Dependiendo de si el indicador --with-download-deps está especificado en el comando configure, este paso realiza una de las siguientes acciones:

    • Se especifica --with-download-deps. Las dependencias de Python se instalan con pip. Esto incluye wheel, setuptools y todas las dependencias en tiempo de ejecución de AWS CLI . Si está compilando el portable-exe, se instala pyinstaller. Todos estos requisitos se especifican en los archivos de bloqueo generados desde pip-compile.

    • No se especifica --with-download-deps. Las bibliotecas de Python del paquete del sitio del intérprete de Python más cualquier script (por ejemplo, pyinstaller) se copian en el entorno virtual que se utiliza para la compilación.

  3. Se ejecuta pip install directamente en el AWS CLI código base para realizar una compilación dentro del árbol sin conexión e instalarla AWS CLI en el entorno virtual de compilación. Esta instalación usa los indicadores pip --no-build-isolation , in-tree-build --use-feature=, -- y. no-cache-dir --no-index

  4. (Opcional) Si la --install-type se establece en portable-exe en el comando configure, compila un ejecutable independiente mediante pyinstaller.

Paso 4: instalar la AWS CLI

El make install comando instala la compilación en la ubicación configurada del sistema AWS CLI .

Linux and macOS

El siguiente ejemplo de comando lo instala AWS CLI utilizando sus ajustes de configuración y compilación:

$ make install
Windows PowerShell

En el siguiente ejemplo de comando, se instala AWS CLI con los parámetros de configuración y compilación y, a continuación, se agrega una variable de entorno con la ruta de acceso a: AWS CLI

PS C:\> C:\msys64\usr\bin\bash -lc " make install " PS C:\> $Env: PATH +=";C:\Program Files\AWSCLI\bin\"

La regla make install admite la variable DESTDIR. Cuando se especifica, esta variable se usa como prefijo en la ruta especificada a la ruta de instalación ya configurada al instalar la AWS CLI. De forma predeterminada, no se establece ningún valor para esta variable.

Linux and macOS

En el siguiente código de ejemplo, se utiliza un indicador --prefix=/usr/local para configurar una ubicación de instalación y, a continuación, se modifica ese destino mediante DESTDIR=/tmp/stage para el comando make install. Estos comandos hacen que se instale la AWS CLI en /tmp/stage/usr/local/lib/aws-cli y sus ejecutables se colocan en /tmp/stage/usr/local/bin.

$ ./configure --prefix=/usr/local $ make $ make DESTDIR=/tmp/stage install
Windows PowerShell

En el siguiente código de ejemplo, se utiliza un indicador --prefix=\awscli para configurar una ubicación de instalación y, a continuación, se modifica ese destino mediante DESTDIR=C:\Program Files para el comando make install. Estos comandos hacen que la AWS CLI se instale en C:\Program Files\awscli.

$ ./configure --prefix=\awscli $ make $ make DESTDIR='C:\Program Files' install
nota
Cuando se ejecuta make install, se realizan los siguientes pasos entre bastidores
  1. Se mueve uno de los siguientes elementos al directorio de instalación configurado:

    • Si el tipo de instalación es system-sandbox, se mueve el entorno virtual compilado.

    • Si el tipo de instalación es un portable-exe, se mueve el ejecutable independiente compilado.

  2. Crea symlinks tanto para los ejecutables aws y aws_completer como para los ejecutables del directorio bin configurado.

Paso 5: verificar la instalación de AWS CLI

Confirme que la instalación se AWS CLI ha realizado correctamente mediante el siguiente comando:

$ aws --version aws-cli/2.17.20 Python/3.11.6 Windows/10 exe/AMD64 prompt/off

Si no se reconoce el comando aws, es posible que deba reiniciar el terminal para que se actualicen los nuevos symlink. Si encuentra problemas adicionales después de instalar o desinstalar el AWS CLI, consulte los pasos habituales Solución de errores para el AWS CLI de solución de problemas

Ejemplos de flujo de trabajo

En esta sección, se proporcionan algunos ejemplos básicos de flujos de trabajo básicos para la instalación desde el origen.

Instalación básica de Linux y macOS

El siguiente ejemplo es un flujo de trabajo de instalación básico en el AWS CLI que se instala en la ubicación predeterminada de/usr/local/lib/aws-cli.

$ cd path/to/cli/respository/ $ ./configure $ make $ make install

Instalación automatizada de Windows

nota

Debe actuar PowerShell como administrador para utilizar este flujo de trabajo.

MSYS2se puede usar de forma automática en un entorno de CI; consulte Uso MSYS2 en CI en la MSYS2documentación.

Downloaded Tarball

Descargue el archivo awscli.tar.gz, extráigalo e instale la AWS CLI. Al utilizar los siguientes comandos, sustituya las siguientes rutas:

  • C:\msys64\usr\bin\bashcon la ubicación de su MSYS2 ruta.

  • .\awscli-2.x.x\ por el nombre de la carpeta awscli.tar.gz extraída.

  • PYTHON='C:\path\to\python.exe' por su ruta local de Python.

El siguiente ejemplo de código automatiza la creación e instalación del AWS CLI desde el PowerShell uso MSYS2 y especifica qué instalación local de Python se debe utilizar:

PS C:\> curl -o awscli.tar.gz https://awscli.amazonaws.com/awscli.tar.gz # Download the awscli.tar.gz file in the current working directory PS C:\> tar -xvzf .\awscli.tar.gz # Extract awscli.tar.gz file PS C:\> cd .\awscli-2.x.x\ # Navigate to the root of the extracted files PS C:\> $env:CHERE_INVOKING = 'yes' # Preserve the current working directory PS C:\> C:\msys64\usr\bin\bash -lc " PYTHON='C:\path\to\python.exe' ./configure --prefix='C:\Program Files\AWSCLI' --with-download-deps " PS C:\> C:\msys64\usr\bin\bash -lc "make" PS C:\> C:\msys64\usr\bin\bash -lc "make install" PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\" PS C:\> aws --version aws-cli/2.17.20 Python/3.11.6 Windows/10 source-sandbox/AMD64 prompt/off
GitHub Repository

Descargue el archivo awscli.tar.gz, extráigalo e instale la AWS CLI. Al utilizar los siguientes comandos, sustituya las siguientes rutas:

  • C:\msys64\usr\bin\bashcon la ubicación de su MSYS2 ruta.

  • C:path\to\cli\repository\con la ruta a tu AWS CLI repositorio clonado desde GitHub. Para obtener más información, consulta Bifurcar un repositorio en los documentos GitHub

  • PYTHON='C:\path\to\python.exe' por su ruta local de Python.

El siguiente ejemplo de código automatiza la creación e instalación del AWS CLI desde el PowerShell uso MSYS2 y especifica qué instalación local de Python se debe utilizar:

PS C:\> cd C:path\to\cli\repository\ PS C:\> $env:CHERE_INVOKING = 'yes' # Preserve the current working directory PS C:\> C:\msys64\usr\bin\bash -lc " PYTHON='C:\path\to\python.exe' ./configure --prefix='C:\Program Files\AWSCLI' --with-download-deps " PS C:\> C:\msys64\usr\bin\bash -lc "make" PS C:\> C:\msys64\usr\bin\bash -lc "make install" PS C:\> $Env:PATH +=";C:\Program Files\AWSCLI\bin\" PS C:\> aws --version

Contenedor de Alpine Linux

A continuación se muestra un ejemplo de Dockerfile que se puede utilizar para instalar correctamente AWS CLI en un contenedor Linux de Alpine como alternativa a los binarios prediseñados para Alpine. Cuando utilices este ejemplo, reemplaza AWSCLI_VERSION con el número de AWS CLI versión deseado:

FROM python:3.8-alpine AS builder ENV AWSCLI_VERSION=2.10.1 RUN apk add --no-cache \ curl \ make \ cmake \ gcc \ g++ \ libc-dev \ libffi-dev \ openssl-dev \ && curl https://awscli.amazonaws.com/awscli-${AWSCLI_VERSION}.tar.gz | tar -xz \ && cd awscli-${AWSCLI_VERSION} \ && ./configure --prefix=/opt/aws-cli/ --with-download-deps \ && make \ && make install FROM python:3.8-alpine RUN apk --no-cache add groff COPY --from=builder /opt/aws-cli/ /opt/aws-cli/ ENTRYPOINT ["/opt/aws-cli/bin/aws"]

Esta imagen se crea y se AWS CLI invoca desde un contenedor similar al que se crea en Amazon Linux 2:

$ docker build --tag awscli-alpine . $ docker run --rm -it awscli-alpine --version aws-cli/2.2.1 Python/3.8.11 Linux/5.10.25-linuxkit source-sandbox/x86_64.alpine.3 prompt/off

El tamaño final de esta imagen es más pequeño que el tamaño de la imagen oficial de AWS CLI Docker. Para obtener información sobre la imagen de Docker oficial, consulte Ejecutar las imágenes oficiales de Amazon ECR Public o Docker para AWS CLI.

Solución de problemas de AWS CLI instalación y desinstalación

Para ver los pasos de solución de problemas relacionados con los errores de instalación, consulte Solución de errores para el AWS CLI para conocer los pasos de solución de problemas comunes. Para conocer los pasos más relevantes de la solución de problemas, consulte Errores de comando no encontrado, El comando "aws --version" devuelve una versión diferente a la instalada y El comando "aws --version" devuelve una versión tras desinstalar la AWS CLI.

Si hay algún problema que no se haya tratado en las guías de solución de problemas, busque los problemas con la source-distribution etiqueta en el AWS CLI Repositorio GitHub. Si ningún problema existente soluciona tus errores, crea uno nuevo para recibir ayuda de los responsables del AWS CLI mantenimiento.

Siguientes pasos

Después de instalar el AWS CLI, debe realizar un. Configuración del AWS CLI