Ver índice de contenidos del libro

4.20. Variables de entorno

Las variables de entorno se pueden emplear para modificar el valor de algunas opciones de configuración de Composer. Siempre que sea posible, se recomienda configurar esta opciones bajo la opción config del archivo config.json del proyecto. Las variables de entorno siempre tienen prioridad sobre los valores configurados en el archivo composer.json.

4.20.1. La variable COMPOSER

Utiliza la variable de entorno COMPOSER para modificar el nombre del archivo composer.json:

$ COMPOSER=composer-other.json php composer.phar install

4.20.2. La variable COMPOSER_ROOT_VERSION

La variable de entorno COMPOSER_ROOT_VERSION se emplea para indicar la versión del paquete raíz del repositorio, en caso de que no se pueda inferir a partir de la información del repositorio y tampoco se haya definido en el archivo composer.json.

4.20.3. La variable COMPOSER_VENDOR_DIR

La variable de entorno COMPOSER_VENDOR_DIR se emplea para cambiar el nombre del directorio donde se instalan las dependencias del proyecto y que por defecto es vendor/.

4.20.4. La variable COMPOSER_BIN_DIR

La variable de entorno COMPOSER_BIN_DIR permite modificar el directorio donde se encuentran los los archivos ejecutables de las dependencias, y que por defecto es vendor/bin/.

Para conocer más sobre los archivos ejecutables de los paquetes, consulta el artículo Los archivos binarios de Composer.

4.20.5. La variable http_proxy o HTTP_PROXY

Si utilizas Composer detrás de un proxy HTTP, puedes hacer uso de las variables de entorno estándar http_proxy o HTTP_PROXY para indicar la URL de tu proxy. En cualquier caso, es muy probable que el propio sistema operativo ya haya configurado estas variables correctamente.

Se recomienda utilizar la variable con el nombre en minúsculas (http_proxy) o incluso establecer las dos variables a la vez, ya que algunas herramientas como git y curl sólo utilizan la variable con el nombre en minúsculas. También puedes establecer el proxy para las herramientas de Git con el comando: git config --global http.proxy <proxy url>.

4.20.6. La variable HTTP_PROXY_REQUEST_FULLURI

Si tu proxy no soporta la opción request_fulluri, crea la variable de entorno HTTP_PROXY_REQUEST_FULLURI y asígnale el valor false o 0 para que Composer no utilice la opción request_fulluri.

4.20.7. La variable HTTPS_PROXY_REQUEST_FULLURI

Si tu proxy no soporta la opción request_fulluri para las peticiones HTTPS, crea la variable de entorno HTTPS_PROXY_REQUEST_FULLURI y asígnale el valor false o 0 para que Composer no utilice la opción request_fulluri.

4.20.8. La variable COMPOSER_HOME

La variable de entorno COMPOSER_HOME te permite modificar el directorio principal de Composer. Se trata de un directorio oculto, global para cada usuario del sistema y cuyos contenidos se comparten con todos los proyectos.

Su localización por defecto depende del tipo de sistema operativo:

  • Linux: /home/<user>/.composer
  • Mac OS X: /Users/<user>/.composer
  • Windows: C:\Users\<user>\AppData\Roaming\Composer

Si lo deseas, puedes crear un archivo llamado config.json dentro del directorio al que apunta la variable de entorno COMPOSER_HOME. Si lo haces, al ejecutar los comandos install y update, Composer fusiona las opciones de este archivo con las del archivo composer.json del proyecto.

Este archivo de configuración global te permite establecer cualquiera de las opciones de configuración de Composer y también te permite configurar los repositorios para los proyectos del usuario.

Si el archivo global establece una opción de configuración con un valor distinto al de esa misma opción en el archivo composer.json, el valor que siempre se tiene en cuenta es el del archivo composer.json.

4.20.9. La variable COMPOSER_PROCESS_TIMEOUT

La variable de entorno COMPOSER_PROCESS_TIMEOUT establece el tiempo máximo en segundos que Composer espera a que finalice la ejecución de un comando (como por ejemplo los comandos de Git que se ejecutan para instalar las dependencias). Su valor por defecto es 300, que equivale a 5 minutos.

4.20.10. La variable COMPOSER_DISCARD_CHANGES

La variable de entorno COMPOSER_DISCARD_CHANGES se utiliza para controlar la opción de configuración discard-changes.

4.20.11. La variable COMPOSER_NO_INTERACTION

Cuando la variable de entorno COMPOSER_NO_INTERACTION vale 1, su efecto es equivalente a añadir la opción --no-interaction a todos los comandos de Composer. Esta opción es especialmente útil en servidor de integración continua y otras tareas similares.