Comenzando con Composer en Drupal 8

Imagen
Drupal 8 composer y git

Composer, esa gran herramienta que nos puede facilitar mucho la vida en lo referente a trabajar con librerías de terceros en PHP. En esta serie de artículos vamos a aprender a como gestionar un sitio Drupal utilizando Composer.

Pero antes de comenzar, seguramente te estés preguntando, por que Composer, si podemos descargar los módulos manualmente, con Drush o Drupal console. Realmente, existen unas cuantas razones:

  • Dependencias: Algunos modulos contribuidos (Drupal Commerce por ejemplo) que requieren librerias de terceros y nos van a obligar a utilziar composer.
  • Requisitos: Algunos modulos, solo funcionan correctamente con versiones concretas de Drupal o de PHP, de modo que utilizar un gestor de paquetes como Composer, nos evitara muchos problemas de incompatibilidad entre versiones.
  • Conflictos: Algunas librerias pueden entrar en conflicto con otras por las versiones, solucionar esto manualmente puede ser un autentico infierno; “Si no usas un gestor de dependencias, tu eres el gestor de dependencias, y no eres infalible”.
  • Drush: Hace unos meses se presento la versión 9 de Drush, la cual elimina los comandos para gestionar modulos.

Pero por donde empiezo?

Si no estas familiarizado con Composer, lo principal es que lo instales, y revises la documentación oficial, o la disponible en Drupal.org. A la hora de instalarlo, es importante que tu entorno de desarrollo tenga la misma versión de PHP que el de producción. Si esto no es así, los paquetes que Composer descargue en desarrollo, luego puede que no funcionen debidamente en producción.

Una vez instalado Composer, lo primero es descargarnos el core de Drupal para poder comenzar a trabajar. Existen varias alternativas y plantillas para comenzar a trabajar con Drupal 8 y composer. En esta serie de articulo, vamos a utilizar drupal-project ya viene con los repositorios configurados, una estructura de directorios típica de proyectos con composer, ademas incluye Drupal Console y Drush.

Comenzar a usar drupal-project como plantilla es muy sencillo, unicamente debemos ejecutar el siguiente comando:

composer create-project drupal-composer/drupal-project:8.x-dev ejemplo --stability dev --no-interaction

Esto nos descargara el proyecto en la carpeta “ejemplo”, cuando finalice el proceso, es buena idea inicializar nuestro repositorio dentro de la carpeta “ejemplo” con git init.

Como descargo modulos y temas?

Si hemos utilizado la plantilla drupal-project, utilizar composer para descargar módulos y temas contribuidos es muy sencillo, solamente necesitaremos un comando:

$ composer require drupal/devel

Este comando, nos descargar la versión mas reciente del modulo devel, en la ruta /web/modules/contrib/devel, ademas nos lo añadirá al archivo composer.json de nuestro proyecto.

Simple

Como podemos ver, utilizar composer para comenzar un proyecto en Drupal 8 es muy sencillo, realmente es recomendable hacerlo ya que nos facilitara mucho la vida en el futuro. En el futuro veremos comandos y opciones mas avanzadas.