direnv

La automatización que falta en todo shell.


direnv es una extensión para el shell. Complementa los shells existentes con una nueva función que permite cargar y descargar variables de entorno según el directorio actual. Antes de presentar el prompt en la línea de comando, direnv comprueba la existencia de un archivo .envrc (y opcionalmente, de un archivo .env) en los directorios actual y principal. Si el archivo existe (y está autorizado su acceso), se carga en una subshell de BASH y todas las variables exportadas se capturan para ponerlas a disposición del shell actual.

direnv admite ganchos (hooks) para todos los shells comunes como bash, zsh, tcsh y fish. Esto permite usar variables de entorno específicas del proyecto sin saturar el archivo ~/.profile. Dado que direnv se compila en un único ejecutable estático, es lo suficientemente rápido como para pasar desapercibido en generación del prompt del shell.

Instalación

La instalación1 se realiza mediante Homebrew o MacPorts, y el enlace con el shell que se esté usando consistirá en agregar un comando en el archivo de arranque ~/.profile:

eval "$(direnv hook bash)"

por lo que no será necesario «desinstalarlo» si sólo desea inhibirse su uso, bastará comentar o eliminar la mencionada línea del archivo de arranque.

Uso

Adicional a la documentación que direnv proporciona, algunos usuarios2 han compartido sus experiencias y pueden ser un buen complemento sobre la manera de hacer uso de direnv.

Desinstalación

La eliminación corre a cargo de Homebrew.

brew uninstall direnv

Referencias

  1. «direnv«, web. Visited: 2026.01.01, URL: https://direnv.net/.
  2. Shivam Arora, «A guide to manage your environment variables in a better way using direnv», medium.com, web. Published: 2020.06.08; visited: 2026.01.01. URL: https://shivamarora.medium.com/a-guide-to-manage-your-environment-variables-in-a-better-way-using-direnv-2c1cd475c8e

© Todos los derechos reservados.
Dr. Eduardo René Rodríguez Ávila

Creación: 2026.01.01
Última actualización: 2026.01.01

El contenido de este sitio puede ser copiado y reproducido libremente, siempre que no se altere y se cite su origen. Marcas y productos registrados se citan por referencia y sin fines de lucro ni dolo. Todas las opiniones son a título personal del o de los autores de estas y, salvo que se exprese de otro modo, deben considerarse como registro y expresión de la experiencia de uso de aquello de lo que se trata. Para conocer más sobre la posición de privacidad y responsabilidad respecto de lo que se presenta en este sitio web y de cómo se ha obtenido, consulte la declaración correspondiente.