Hoy en día existen herramientas que nos permiten ayudar a gerenciar las versiones de nuestros software de desarrollo. El fin de esas herramientas es el ahorrarnos la parte de administración y configuración de estas versiones para enfocarnos directamente en lo importante que es el comenzar a desarrollar.
Para el caso particular de Node.js esta NVM (como dato curioso, aun permite administrar versiones de io.js antes de la integración de versiones). Para el caso de todo los SDK asociados a la JVM como Java, Groovy , Scala, etc. Existe SDKMAN!.
Las ventajas que nos permite SDKMAN! ademas de la facil administración de versiones de software SDK a través de una interfaz de linea de comandos (CLI), es que mediante un script bash ligero es portable en cualquier sistema basado en Unix, se pueden administrar practicamente todos los SDK para JVM ahorrandonos la configuración de variables de entorno en el CLASSPATH, además de permite publicar una version RC o de release de este tipo de sofwtare si tu eres un Vendor.
Instalación
Para poder instalar SDKMAN! de manera local solo basta tener conexión a internet y ejecutar el siguiente código.
$ curl -s "https://get.sdkman.io"| bash
Lo que se realiza es la descarga de un archivo bash que contiene todas las operaciones de descarga de empaquetados, validación de posible instalación existente e instalación de los comandos que conforman su CLI para poder trabajar con él. A continuación describire los que de acuerdo a mi criterio son los más importantes a conocer.
Listar Versiones de SDK
Al ejecutar el comando list, puedes visualizar todo aquel software y la ultima versión estable disponible para instalar.
$ sdk list
Listar Versiones de un SDK en particular
Para poder visualizar todas las versiones disponibles de un sdk en particular basta que ejecutes el comando anterior ademas del nombre del sdk que deseas consultar. Por ejemplo si yo estoy interesado en revisar todas las versiones disponibles que puedo instalar de Kotlin, basta con ejecutar list de la siguiente manera:
$ sdk list kotlin
Installar SDK
Complementando el ejemplo anterior, para poder instalar la última versión de Kotlin, basta con ejecutar el comando install
$ sdk install kotlin
Instalar versión específica de un SDK
Si requiero instalar alguna otra versión disponible de un sdk, basta con indicar la versión. Por ejemplo, si en mi caso requiero ademas instalar la versión 1.1 de kotlin, tendría que ejecutar el siguiente comando. Al terminar la instalación, como SDKMAN! detecta que existe otra versión de este SDK instalado, me pregunta si deseo que la versión que estoy instalado sea la versión por default. Que elegante ¿no crees?
$ sdk install kotlin 1.1
Verificar versión default de SDK
Para poder verificar la versione instalada de un SDK y además que es la versión default para trabajar, se usa el comando current. Seguiremos el ejemplo con kotlin en este tutorial.
$ sdk current kotlin
Seleccionar version de SDK
Para poder seleccionar la versión para trabajar de una versión instalada de un SDK en particular, se usa el comando use. En este ejemplo, quiero que ahora la versión 1.1 de kotlin sea la versión que quiero, por lo que tendria que ejecutar el comando de la siguiente manera. Como tip puedes usar los comandos anterior para corroborar estos cambios que te menciono:
$ sdk use kotlin 1.1
Seleccionar version default de SDK
El comando default nos permite indicar la versión default de un SDK instalado. En este caso regresare a la versión 1.1.2-2 y la escogere como versión default
$ sdk default 1.1.2-2
Desinstalar versión de SDK
El comando uninstall nos permite desintalar una versión installada del SDK indicado. Es obligatorio indicar la versión. Para este ejemplo desinstalare la versión 1.1 de kotlin
$ sdk uninstall kotlin 1.1
Mostrar versión desactualizara de SDK instalado
El comando outdated evalua si existen versiones actualizadas y estables para instalar de un SDK existente. Puedes indicar un SDK en particular o no, ya que puede consultar de todos lo que tengas instalado en tu equipo. En este caso quiero verificar que software puedo actualizar de todos mis SDK existentes.
$ sdk outdated
Comentarios finales
Como podras ver, SDKMAN! es una herramienta muy fácil de usar además de ser bastante útil. Si tienes alguna duda, puedes ejecutar el comando de ayuda o consultar la documentación oficial. Lo que en particular me encanta además de la simplicadad y gran utilidad que provee esta herramienta es la simplicidad y legibilidad de la documentación oficial. Te invito a que pruebes SDKMAN! y compruebes por ti mismo si esta herramienta te ayuda a mejorar la productividad en tu dia dia.
Comando ayuda
$ sdk help