Instalación
Partiendo del hecho de que $HOME/.local/bin
forma parte de tu $PATH
:
Verifica la instalación del JDK de Java (
java -version
yjavac -version
).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).Instala a Leiningen:
alumno@servidor:~ $ lein Downloading Leiningen to /home/alumno/.lein/self-installs/leiningen-2.7.1-standalone.jar now... ...
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:
- http://stackoverflow.com/questions/22114716/lein-repl-errorconnection-refused
- https://github.com/technomancy/leiningen/issues/1663
- https://github.com/cursive-ide/cursive/issues/1437
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
...