Instalar Erlang y Elixir en CentOS 7

En este tutorial, discutiremos cómo instalar Erlang y Elixir en el servidor mínimo de CentOS 7. Antes de instalarlos, veamos una breve explicación de cada uno.

Acerca de Erlang

erlanges un lenguaje de programación de código abierto que se utiliza para construir sistemas de software en tiempo real masivamente escalables con requisitos de alta disponibilidad. Algunos de sus usos son en telecomunicaciones, banca, comercio electrónico, telefonía informática y mensajería instantánea. El sistema de tiempo de ejecución de Erlang tiene soporte incorporado para concurrencia, distribución y tolerancia a fallas. Está diseñado en el Laboratorio de Ciencias de la Computación de Ericsson.

Acerca del elixir

Elixires un lenguaje dinámico y funcional diseñado para construir aplicaciones escalables y mantenibles. Elixir aprovecha la máquina virtual Erlang, conocida por ejecutar sistemas de baja latencia, distribuidos y tolerantes a fallas, mientras que también se usa con éxito en el desarrollo web y el dominio de software integrado.

Ahora, comencemos a instalar Erlang y Elixir en el servidor mínimo CentOS 7 de 64 bits.

requisitos previos

Antes de instalar Erlang y Elixir, debemos instalar los siguientes requisitos previos.

yum update
yum install epel-release
yum install gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf java-1.8.0-openjdk-devel git wget wxBase.x86_64

Instalar Erlang

La versión de Erlang en los repositorios oficiales puede ser más antigua. Entonces, descarguemos e instalemos la última versión de Erlang.

Agregue el repositorio oficial de Erlang para instalar el último Erlang.

Para hacerlo, dirígete a laPágina del repositorio de Erlangy descargue el repositorio según la distribución que utilice:

Dado que estamos instalando Erlang en CentOS 7, agregaré el siguiente repositorio.

wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

Actualice las listas de repositorios con el comando:

yum update

Instale Erlang usando el comando:

yum install erlang

Eso es todo. Se ha instalado la última versión de Erlang.

comprobar erlang

Ejecute el siguiente comando para verificar si Erlang está instalado o no.

erl

Salida de muestra:

Erlang/OTP 18 [erts-7.3] [source-d2a6d81] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]

Eshell V7.3 (abort with ^G)
1>

Si ve el símbolo del sistema de Erlang, ¡está funcionando! Para close la concha, solo presionaCtrl-Cdos veces.

Pruebe un programa de muestra “hello_world” en Erlang

Cree un nuevo archivo llamado “hello.erl”.

vi hello.erl

Agregue las siguientes líneas:

-module(hello).
-export([hello_world/0]).
hello_world() -> io:fwrite("hello, worldn").

Guardar y close el archivo.

Enter al shell Erlang con el comando:

erl

Ejecute los siguientes comandos uno por uno. No olvide agregar un punto (.) al final de cada comando:

c(hello).
hello:hello_world().

Salida de muestra:

Instalar elixir

Elixir está disponible en el repositorio de EPEL, pero está muy desactualizado. Entonces, para instalar la última versión, la compilaremos e instalaremos desde el archivo fuente.

Tenga en cuenta que antes de instalar Elixir, primero debe instalar Erlang.

Clona Git en el repositorio de Elixir:

git clone https://github.com/elixir-lang/elixir.git

El comando anterior clonará la última versión en una carpeta llamada elixir en el directorio de trabajo actual. tengo

Ir al directorio de elixir:

cd elixir/

Ejecute el siguiente comando para comenzar a compilar elixir:

make clean test

Salida de muestra:

[...]
Compiled lib/iex/app.ex
Compiled lib/iex.ex
Compiled lib/iex/autocomplete.ex
Compiled lib/iex/cli.ex
Compiled lib/iex/config.ex
Compiled lib/iex/history.ex
Compiled lib/iex/helpers.ex
Compiled lib/iex/introspection.ex
Compiled lib/iex/remsh.ex
Compiled lib/iex/server.ex
Compiled lib/iex/evaluator.ex
Compiled lib/iex/info.ex
Generated iex app
==> elixir (eunit)
 All 194 tests passed.

==> elixir (exunit)
.............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

Finished in 126.1 seconds (81.7s on load, 44.3s on tests)
2909 tests, 0 failures

Randomized with seed 29478
==> ex_unit (exunit)
..........................................................................................................................................................................................

Finished in 8.0 seconds (6.5s on load, 1.5s on tests)
186 tests, 0 failures

Randomized with seed 540622
==> logger (exunit)
........................................................................................

Finished in 4.4 seconds (3.9s on load, 0.4s on tests)
88 tests, 0 failures

Randomized with seed 662540
==> mix (exunit)
..................................................................................................................................................................................................................................................................................................................

Finished in 91.0 seconds (14.1s on load, 76.8s on tests)
306 tests, 0 failures

Randomized with seed 988584
==> eex (exunit)
.......................................................................

Finished in 0.9 seconds (0.8s on load, 0.07s on tests)
71 tests, 0 failures

Randomized with seed 955314
==> iex (exunit)
...........................................................................................................

Finished in 5.7 seconds (3.3s on load, 2.3s on tests)
107 tests, 0 failures

Randomized with seed 128154

raíz@servidor1:~-elixir_009

Si pasa las pruebas, ya está.

Ahora, se recomienda encarecidamente agregar la ruta bin de Elixir a su variable de entorno PATH. De lo contrario, Elixir no funcionará.

Para hacerlo, ejecute el siguiente comando:

export PATH="$PATH:/root/elixir/bin"

Aquí, he instalado elixir en/raíz/elegir/ubicación. Debe reemplazar esta ruta con su ruta de instalación real de Elixir.

Verificar elixir

Para verificar si Elixir está instalado o no, ejecute:

iex

Salida de muestra:

Erlang/OTP 18 [erts-7.3] [source-d2a6d81] [64-bit] [async-threads:10] [hipe] [kernel-poll:false]

Interactive Elixir (1.3.0-dev) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)>

Si viene el aviso de shell de Elixir, ¡felicidades!

De nuevo, a close el caparazón del Elixir, solo presionaCtrl-Cdos veces.

Para comprobar la versión de Elixir:

elixir --version

Salida de muestra:

Elixir 1.3.0-dev (bbf7a23)

Eso es todo. Ahora hemos configurado con éxito el entorno de desarrollo Erlang y Elixir en funcionamiento en el servidor CentOS 7.

¡Salud!

Enlaces de referencia:

Artículos Relacionados