Actualización de Erlang/OTP

Partiendo del hecho de que $HOME/.local/bin forma parte de tu $PATH.

  1. Actualiza a kerl

    alumno@servidor:~ $ wget https://raw.githubusercontent.com/kerl/kerl/master/kerl -O $HOME/.local/bin/kerl
    alumno@servidor:~ $ chmod +x $HOME/.local/bin/kerl
    
  2. Actualiza la lista de liberaciones (versiones) de Erlang/OTP:

    alumno@servidor:~ $ kerl update releases
    
  3. Compila la liberación de Erlang/OTP que te interese, en este caso la 19.0:

    alumno@servidor:~ $ kerl build 19.0 19.0
    Downloading otp_src_19.0.tar.gz to $HOME/.kerl/archives
    ...
    Extracting source code
    Building Erlang/OTP 19.0 (19.0), please wait...
    Erlang/OTP 19.0 (19.0) has been successfully built
    

    Sugerencia: recuerda el valor dado en KERL_CONFIGURE_OPTIONS durante la instalación.

    Al terminar, lista las compilaciones disponibles:

    alumnl@servidor:~ $ kerl list builds
    19.0,19.0
    
  4. Instala la liberación de Erlang/OTP previamente compilada, se sugiere el directorio $HOME/.local/opt/erlang/19.0:

    alumno@servidor:~ $ mkdir -p $HOME/.local/opt/erlang/19.0
    alumno@servidor:~ $ kerl install 19.0 $HOME/.local/opt/erlang/19.0
    Installing Erlang/OTP 19.0 (19.0) in $HOME/.local/opt/erlang/19.0...
    You can activate this installation running the following command:
    . $HOME/.local/opt/erlang/19.0/activate
    Later on, you can leave the installation typing:
    kerl_deactivate
    

    Puedes listar las liberaciones de Erlang/OTP que tienes actualmente instaladas:

    alumno@servidor:~ $ kerl list installations
    18.3 $HOME/.local/opt/erlang/18.3
    19.0 $HOME/.local/opt/erlang/19.0
    

Actualización de LFE (Lisp Flavored Erlang)

Partiendo del hecho de que ya tienes instalada una liberación de Erlang/OTP, $HOME/.local/opt/erlang/18.3 por ejemplo, y de que el repositorio en Github de LFE ya ha sido clonado en $HOME/.local/src/lfe:

  1. Actualiza el repositorio de LFE:

    alumno@servidor:~ $ cd $HOME/.local/src/lfe
    alumno@servidor:~/.local/src/lfe $ git pull origin master
    
  2. Activa la liberación de Erlang/OTP ya instalada y compila a LFE:

    alumno@servidor:~/.local/src/lfe $ . $HOME/.local/opt/erlang/19.0/activate
    alumno@servidor:~/.local/src/lfe $ make clean
    escript get_maps_opts.escript
    rm -rf ebin/*.beam erl_crash.dump maps_opts.mk
    alumno@servidor:~/.local/src/lfe $ make
    escript get_maps_opts.escript
    make  erlc-lfec
    make[1]: Entering directory '$HOME/.local/src/lfe'
    ...
    cc -o bin/lfeexec c_src/lfeexec.c
    bin/lfe bin/lfec -I include -o ebin -pa ../lfe src/cl.lfe
    ecp: #(cl ())
    cp src/lfe.app.src ebin/lfe.app
    rm src/lfe_scan.erl
    make[1]: Leaving directory '$HOME/.local/src/lfe'
    

Actualización de rebar3

Partiendo del hecho de que $HOME/.local/bin forma parte de tu $PATH.

Descarga a rebar3 y dale permisos de ejecución:

alumno@servidor:~ $ wget https://s3.amazonaws.com/rebar3/rebar3  -O $HOME/.local/bin/rebar3
alumno@servidor:~ $ chmod +x $HOME/.local/bin/rebar3

Puedes verificar la actual versión de rebar3 con:

alumno@servidor:~ $ rebar3 -v
rebar 3.2.0 on Erlang/OTP 19 Erts 7.3

Recordatorio

Si se está haciendo uso de un script de shell para configurar el entorno, hacer los ajustes necesarios:

#!/bin/bash
function loadlfe() {
  set -x
  local ERLANG_OTP_HOME="$HOME/.local/opt/erlang/19.0"
  local LFE_HOME="$HOME/.local/src/lfe"
  source $ERLANG_OTP_HOME/activate
  kerl active
  export PATH="$LFE_HOME/bin:$PATH"
  set +x
}