Entornos de desarrollo virtuales #grails y #python


En Solocontrata.me desarrollamos nuestro frontend y middlend usando python y para el backend usamos grails. Como es de esperarse en un proyecto sencillo la cantidad de dependencias no es muuuy grande pero aun así con las constantes mejoras en las librerías y los cambios de versión puede llegarse a algo parecido al aborrecible Dependency Hell.

En python existe una alternativa muy interesante llamada virtualenv que configura un entorno aislado que contiene la versión de python (entre 2.6, 2.7 y 3.x casi me vuelvo loco) y permite descargar todas las dependencias de forma aislada (algo como Gradle / Ivy / Maven decentemente configurados con perfiles), incluso funciona con PyDev.

Para grails la gestión de dependencias se puede manejar usando framework (basado en Ivy) o con Maven (con todos sus pro/contra) o usando gradle (muy interesante por el DSL). Sin embargo para hacer saltos y pruebas entre entornos (no solo de grails sino tambien de groovy, gradle y otras herramientas del ecosistema groovy) existe Groovy enVironment Manager.

Este script actualiza ~/.bashrc y ~/.profile ejecutando un .sh que configura las variables de entorno apropiadas. Sin embargo al instalarlo desde mi IDE cualquier comando grails generaba una excepción porque no se encontraba el comando grails. Para solucionarlo y mantener el control sobre el entorno virtual tuve que añadir las siguientes líneas a ~/.profile:

export JAVA_HOME="/usr/lib/jvm/default-java/"
export GRAILS_HOME="/home/username/.gvm/grails/current"
PATH="$GRAILS_HOME/bin:$PATH"

justo antes de la inicialización del script de GVM. Después de cerrar la sesión de usuario y reiniciar mi IDE los comandos de grails funcionaron sin problemas.

Acerca de Nickman

Aunque crítico e Ingeniero (especializado en software), piloto de aeroplano soy (seré).

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s