El paquete principal o "root package" es el paquete definido por el archivo composer.json
que se encuentra en la raíz de tu proyecto. En otras palabras, es el archivo composer.json
principal que define las dependencias de tu proyecto.
Algunas de las opciones de configuración sólo se pueden aplicar dentro el contexto del paquete principal. Una de estas opciones es config
, que sólo se puede definir en el paquete principal y no en sus dependencias. De esta forma, la opción config
se dice que es de tipo root-only
.
Si clonas una de esas dependencias para trabajar sobre ella, entonces el paquete de esa dependencia es ahora el paquete principal. El archivo composer.json
es idéntico, pero el contexto es diferente.
Nota Un mismo paquete puede ser el paquete principal o no dependiendo del contexto. Si por ejemplo tu proyecto depende de la librería monolog
, tu proyecto es el paquete principal. Sin embargo, si clonas la librería monolog
desde Github para arreglar algún error en ella, entonces ahora monolog
es el paquete principal.