Instalación

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

  1. Verifica la instalación del JDK de Java (java -version y javac -version).

  2. Descarga el script de shell de Leiningen y asignale permisos de ejecución:

     alumno@servidor:~ $ wget https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein -O $HOME/.local/bin/lein
     alumno@servidor:~ $ chmod +x $HOME/.local/bin/lein
    

    Leiningen permite la administración de proyectos de Clojure. Parte de lo que hace es la definición de dependencias en un proyecto, incluyendo la versión de Clojure a usar. El directorio que usa para lo anterior es $HOME/.m2/repository (Maven).

  3. Instala a Leiningen:

     alumno@servidor:~ $ lein
     Downloading Leiningen to /home/alumno/.lein/self-installs/leiningen-2.7.1-standalone.jar now...
     ...
    
  4. Verifica la correcta instalación de Leiningen con el comando lein version:

     alumno@servidor:~ $ lein version
     Leiningen 2.7.1 on Java 1.8.0_102 OpenJDK 64-Bit Server VM
    

Recomendación: ejecuta lein repl para acceder al REPL y con esto descargar las dependencias necesarias para su ejecución en cualquier proyecto de Clojure.

Puedes hacer uso de Drip para mejorar el tiempo de inicio-ejecución de Leiningen:

alumno@servidor:~ $ wget https://raw.githubusercontent.com/ninjudd/drip/master/bin/drip -O $HOME/.local/bin/drip
alumno@servidor:~ $ chmod +x $HOME/.local/bin/drip
echo 'export LEIN_JAVA_CMD="$HOME/.local/bin/drip"' > $HOME/.bashrc

Para más información: https://github.com/technomancy/leiningen/wiki/Faster

NOTA:

Si durante la ejecución de lein repl obtienes un error similar a:

Exception in thread "main" java.net.ConnectException: Connection refused
...
Caused by: java.net.ConnectException: Connection refused
...

Una posible solución sea que asocies localhost a la dirección IP 127.0.0.1 al inicio del archivo /etc/hosts:

# IPv4
127.0.0.1       localhost
# IPv6
::1             localhost ipv6-localhost ipv6-loopback
fe00::0         ipv6-localnet
ff00::0         ipv6-mcastprefix
ff02::1         ipv6-allnodes
ff02::2         ipv6-allrouters
ff02::3         ipv6-allhosts

Para más información:

Actualización

Para actualizar a Leiningen ejecuta su tarea (task) upgrade:

alumno@servidor:~ $ lein upgrade
The script at /home/alumno/.local/bin/lein will be upgraded to the latest stable version.
Do you want to continue [Y/n]? y
...