Perl/Devel::Local
Módulo | Devel::Local |
---|---|
Versión | 0.16 |
Uso | Desarrollo |
Propósito | Este módulo permite usar repositorios locales de desarrollo sin necesidad de instalarlos previamente. |
Conceptos
Durante el desarrollo de un módulo o programa Perl podemos vernos en la necesidad de emplear otros repositorios locales que aún no están instalados en firme dentro del sistema. El método tradicional consiste en modificar la variable de entorno PERL5LIB
de manera que éstos se carguen fácilmente o que incluso lo hagan versiones en desarrollo antes que las versiones ya instaladas.
Aunque puede emplearse de varias formas la menos intrusiva desde el punto de vista de los fuentes consiste en emplear una función Bash para manipular el entorno. El autor ha incluído un pequeño programa llamado devel-local.sh que se emplea para ello.
Ejemplos
Suponiendo que tengamos un conjunto de repositorios como el siguiente:
git ├── impresor ├── scripts ├── slack-empresa ├── empresa-admin ├── empresa-app ├── empresa.com ├── empresa-common ├── empresa-db ├── empresa-desktop ├── empresa-fonts ├── empresa.net ├── empresa-network ├── empresa-perl ├── empresa-printers ├── empresa-setup ├── empresa-virtual
y vayamos a trabajar en el repositorio empresa-app pero necesitamos utilizar las versiones en desarrollo de empresa-perl y empresa-db emplearemos este módulo de la siguiente manera.
Primero cargamos el programa devel-local.sh para que añada a Bash una función llamada devel-local:
$ source $(which devel-local.sh)
y a continuación usamos dicha función para añadirle los repositorios que necesitemos y comprobamos que los resultados son los adecuados
$ devel-local ~/git/empresa-db ~/git/empresa-perl PERL5LIB: /home/victor/git/empresa-db/lib /home/victor/git/empresa-perl/lib | PATH: /home/victor/bin /usr/local/bin /usr/bin /bin /usr/games $ echo $PERL5LIB /home/victor/git/empresa-db/lib:/home/victor/git/empresa-perl/lib:|
Y son adecuados porque en realidad lo que ha añadido ha sido el directorio lib de cada uno de ellos en lugar del directorio raíz. El autor sabe lo que se hace y nosotros ahora podemos continuar con nuestro trabajo sin necesitar instalar nada más.
Una vez terminado bastaría con abandonar el shell para que los cambios desapareciesen pero si por cualquier circunstancia quisiéramos restaurar el estado previo llamaremos podremos hacerlo con igual facilidad:
$ devel-local ! PERL5LIB: PATH: /home/victor/bin /usr/local/bin /usr/bin /bin /usr/games $ echo $PERL5LIB $