Composer, el manual oficial

5.12. La propiedad config

A través de esta propiedad se pueden establecer varias opciones de configuración que sólo se tienen en cuenta en los proyectos. Estas son las opciones disponibles:

  • process-timeout: el tiempo máximo que puede durar un comando en segundos. Su valor por defecto es 300 (5 minutos) y se aplica por ejemplo a los comandos clone de Git utilizados para instalar las dependencias. Si tienes una conexión muy lenta o muchas dependencias, seguramente tendrás que aumentar este valor.
  • use-include-path: su valor por defecto es false. Si vale true, Composer utiliza también el include path de PHP para encontrar las clases que se quieren cargar.
  • preferred-install: su valor por defecto es auto y puede ser source, dist o auto. Esta opción siplemente indica el método de instalación que utilizará Composer siempre que esté disponible.
  • github-protocols: su valor por defecto es el array ["git", "https"]. Indica la lista de protocolos que se utilizarán para clonar repositorios de Github, ordenados por prioridad. Si quieres darle más prioridad a https frente a git porque te encuentras por ejemplo detrás de un proxy, define esta opción y cambia el orden de los valores.
  • github-oauth: se trata de un listado de dominios y tokens de Oauth. Si estableces por ejemplo su valor a {"github.com": "oauthtoken"}, se utilizará el valor oauthtoken para acceder a los repositorios privados de Github y así evitar sobrepasar el límite de peticiones a la API pública de Github.
  • vendor-dir: su valor por defecto es vendor e indica el directorio donde se instalan las dependencias del proyecto.
  • bin-dir: su valor por defecto es vendor/bin e indica el directorio desde donde se enlazarán simbólicamente los archivos ejecutables del proyecto.
  • cache-dir: su valor por defecto es $home/cache para los sistemas Linux y Mac OS X y C:\Users\<user>\AppData\Local\Composer para los sistemas Windows. En este directorio se almacenan todos los archivos cacheados por Composer. Consulta también la variable de entorno COMPOSER_HOME.
  • cache-files-dir: su valor por defecto es $cache-dir/files y se utiliza para guardar los archivos ZIP descargados de los paquetes.
  • cache-repo-dir: su valor por defecto es $cache-dir/repo y se utiliza para guardar los metadatos de los repositorios de tipo composer, svn, github y bitbucket.
  • cache-vcs-dir: su valor por defecto es $cache-dir/vcs y almacena los repositorios clonados con git y hg para acelerar la instalación de los paquetes.
  • cache-files-ttl: su valor por defecto es 15552000 (6 meses). Composer cachea todos los paquetes de tipo dist que descarga (archivos ZIP, RAR, etc.). Estos archivos se borran si no se usan durante seis meses. Cambia este valor si lo necesitas o establece su valor a 0 para desactivar esta caché.
  • cache-files-maxsize: su valor por defecto es 300MB e indica el tamaño máximo de la caché utilizada para cachear los archivos de tipo dist de los paquetes (archivos ZIP, RAR, etc.). Composer ejecuta periódicamente una tarea para limpiar la caché, donde siempre se eliminan primero los archivos más viejos que no se utilizan.
  • notify-on-install: su valor por defecto es true. Composer permite a los repositorios definir una URL a la que se realiza una petición automáticamente cada vez que alguien instala un paquete de ese repositorio. Si estableces esta opción a false, no se realizará esa petición.
  • discard-changes: su valor por defecto es false y puede tomar cualquiera de los siguientes valores: true, false o "stash". Esta opción te permite indicar qué se debe hacer cuando hay modificaciones locales en algún paquete y el comando de instalación/actualización se ejecuta de forma no interactiva. El valor true descarta todos los cambios y el valor "stash" intenta guardar los cambios en el stash y volverlos a aplicar después. Puedes utilizar esta opción en los servidores de integración continua y en los scripts de instalación de la aplicación en los servidores de producción.

Ejemplo:

{
    "config": {
        "bin-dir": "bin"
    }
}