Instalación de Elixir

Vamos a ver cómo instalar Elixir en los principales sistemas operativos del mercado (Windows, Linux, macOS y BSD), así como cómo ejecutarlo desde Docker.

Para comenzar a trabajar con Elixir, es fundamental entender que no basta con instalar únicamente el lenguaje en sí, sino que también necesitamos la máquina virtual de Erlang. Esto se debe a que Elixir está diseñado para ejecutarse sobre la plataforma BEAM, que es la arquitectura subyacente del sistema Erlang. En esencia, cuando compilamos código Elixir, no obtenemos un archivo ejecutable tradicional como un .exe en Windows o un binario nativo en otros sistemas, sino que generamos instrucciones para una máquina virtual ficticia llamada Erlang-VM.

Esta máquina virtual actúa como un ordenador virtual que interpreta el código generado por Elixir, permitiendo que nuestro programa pueda ejecutarse en diferentes arquitecturas de hardware, ya sea un procesador Intel, ARM o incluso dispositivos más específicos como controladores de antenas. Gracias a esta capa de abstracción, Elixir ofrece una portabilidad interesante, aunque con ciertas limitaciones prácticas.

Para instalar Elixir y Erlang, el proceso varía según el sistema operativo que utilicemos. En Windows, la instalación es bastante sencilla gracias a un instalador tradicional que guía al usuario mediante un asistente con pasos típicos de siguiente, siguiente. Basta con descargar este instalador desde la página oficial y seguir las indicaciones para tener ambos componentes listos.

En sistemas basados en Unix, como Linux, BSD o Mac OS, la instalación se realiza generalmente a través del gestor de paquetes nativo. Por ejemplo, en distribuciones Debian o Ubuntu, podemos usar apt-get install elixir tras asegurarnos de que los repositorios están actualizados y configurados correctamente. En Fedora, el comando sería dnf install elixir, mientras que en Arch Linux se utiliza pacman -S elixir. Para BSD, el gestor de paquetes varía, pero la idea es similar: usar el sistema de gestión de paquetes para instalar Elixir y Erlang.

En Mac OS, aunque no viene con un gestor de paquetes preinstalado, contamos con Homebrew, una herramienta muy popular que facilita la instalación de software desde la terminal. Si no lo tenemos instalado, podemos obtenerlo desde brew.sh y luego usar el comando brew install elixir para instalar tanto Elixir como Erlang de forma sencilla.

Una vez completada la instalación, es recomendable verificar que todo está funcionando correctamente. Para ello, abrimos una terminal y ejecutamos:

elixir --version

Este comando nos mostrará la versión de Elixir instalada, así como detalles sobre la versión de Erlang OTP y la arquitectura de la máquina virtual. Si recibimos un mensaje indicando que el comando no se encuentra, significa que la instalación no se realizó correctamente y debemos revisar los pasos seguidos.

Para quienes prefieran evitar la instalación directa en su sistema, existe una alternativa muy práctica: utilizar Docker. La imagen oficial de Elixir en Docker permite ejecutar el entorno completo sin modificar el sistema operativo. Basta con descargar la imagen con:

docker pull elixir

Y luego ejecutar una terminal interactiva con:

docker run -it --rm elixir

De esta forma, podemos probar Elixir, ejecutar scripts o incluso configurar entornos de desarrollo y despliegue sin necesidad de instalar Erlang o Elixir localmente. Esto es especialmente útil para pruebas rápidas o para mantener limpio nuestro entorno de trabajo.

En definitiva, para avanzar con Elixir es imprescindible contar con ambos componentes, Elixir y la máquina virtual de Erlang, ya sea instalándolos directamente en nuestro sistema operativo o utilizando contenedores Docker para mayor flexibilidad.

Lista de reproducción
  1. 1
    ¿Qué es Elixir?
    10 minutos
  2. 2
    Instalación de Elixir
    9 minutos
  3. 3
    ¿Qué es la programación funcional? (Como la de Elixir)
    20 minutos
  4. 4
    ¿Cómo funciona la REPL de Elixir?
    7 minutos
  5. 5
    ¿Cómo hacer asignaciones en Elixir?
    7 minutos
  6. 6
    Operadores aritméticos básicos
    6 minutos
  7. 7
    ¿Qué son los tipos de datos de Elixir?
    5 minutos
  8. 8
    Átomos en Elixir
    4 minutos
  9. 9
    Las palabras clave nil, true y false
    6 minutos
  10. 10
    Operadores lógicos de comparación
    8 minutos
  11. 11
    Comparación estricta con ===
    3 minutos
  12. 12
    Operadores lógicos y proposicionales
    8 minutos
  13. 13
    Invocación de funciones
    10 minutos
  14. 14
    Fundamentos de funciones
    9 minutos
  15. 15
    Cadenas de caracteres
    8 minutos
  16. 16
    Entrada y salida estandar de la mano de gets y puts
    9 minutos
  17. 17
    Concatenar e interpolar strings
    9 minutos
  18. 18
    Código fuente en archivos
    9 minutos
  19. 19
    Condicional IF y bloques DO-END
    11 minutos
  20. 20
    IFs anidados, UNLESS y COND
    12 minutos
  21. 21
    Definición de funciones
    11 minutos
  22. 22
    Fundamentos de compilación de módulos
    6 minutos
  23. 23
    Guardas
    8 minutos
  24. 24
    Funciones anónimas
    7 minutos
  25. 25
    Capturar funciones
    4 minutos
  26. 26
    Invocación de funciones dentro del mismo módulo
    7 minutos
  27. 27
    Tuplas
    8 minutos
  28. 28
    Introducción al pattern matching
    8 minutos
  29. 29
    Pattern matching en funciones
    11 minutos
  30. 30
    Las tuplas :ok, :error
    7 minutos
  31. 31
    case
    10 minutos
  32. 32
    Operador pin
    7 minutos
  33. 33
    Pattern matchings y recursividad
    5 minutos
  34. 34
    Listas
    9 minutos
  35. 35
    Operadores y funciones de lista
    10 minutos
  36. 36
    Keyword lists: listas de palabras clave
    8 minutos
  37. 37
    Mapas
    7 minutos
  38. 38
    Pattern matching de mapas y keyword lists
    6 minutos
  39. 39
    Operadores y funciones para mapas y keyword lists
    5 minutos
  40. 40
    Estructuras con defstruct
    11 minutos
  41. 41
    Bitstrings
    11 minutos
  42. 42
    Charlists
    10 minutos
  43. 43
    Funciones de alto orden en Elixir
    5 minutos
  44. 44
    Uso de la función filter
    10 minutos
  45. 45
    Uso de la función map
    7 minutos
  46. 46
    Uso de la función reduce
    9 minutos
  47. 47
    Pipelines
    11 minutos
  48. 48
    Rangos y Streams
    11 minutos
  49. 49
    Funciones recursivas con listas
    14 minutos