Extender Drupal 10 con Composer

Aprende DrupalGlosario de Drupal
Hoy en día es bastante habitual que los módulos contribuidos de Drupal dependan de bibliotecas de terceros. Algunos de estos módulos solo pueden instalarse con Composer. Si ya has obtenido el núcleo de Drupal con Composer, o si un módulo exige Composer, usa Composer para descargar todos tus módulos y temas. Si mezclas actualizaciones de Composer con otros métodos, puedes encontrarte con problemas de actualización bastante molestos.
 

Obtén módulos y temas contribuidos con Composer

¿Quieres descargar módulos o temas contribuidos de Drupal con Composer? Así se hace:

  • Escribe composer require drupal/module_name
  • Por ejemplo: composer require drupal/token
  • Asegúrate de estar en la raíz de tu instalación de Drupal

Composer actualizará entonces tu composer.json por ti, añadiendo el módulo a la lista de otros requisitos, así:

{
    "require": {
        "drupal/token": "^1.5"
    }
} 

Composer descargará el módulo y las dependencias que pueda tener.

Para activar el módulo de Drupal tienes un par de opciones:

Al requerir módulos, puedes usar el nombre del proyecto o el nombre del módulo concreto dentro de un proyecto:

  • Composer descargará todo el proyecto que contiene un módulo concreto.
  • Por ejemplo, si necesitas el módulo fe_block del proyecto features_extra, puedes elegir una de las opciones siguientes:
    • composer require drupal/features_extra
    • composer require drupal/fe_block
 

Cómo elegir una versión

Si quieres indicar la versión del módulo o tema que quieres descargar, hazlo así:

composer require 'drupal/module_name:version'

(Solo tienes que sustituir version por la versión de Composer real o la restricción de versión.)

Por ejemplo:

composer require 'drupal/dxpr_builder:^1.1' 
composer require 'drupal/dxpr_builder:~1.1' 
composer require 'drupal/dxpr_builder:2.2.2-alpha2' 
composer require 'drupal/dxpr_builder:2.2.x-dev' 

Para evitar tropiezos en distintas terminales o shells, pon la versión entre comillas, como en los ejemplos anteriores.


¡Atención! En Windows, usar comillas (simples) puede estropear la especificación de versión y provocar un fallo de instalación con 'Could not parse version constraint .....': Invalid version string "....'".

Sin las comillas, por ejemplo:

composer require drupal/dxpr_builder:^2.2

O con comillas dobles en vez de simples, así:

composer require "drupal/dxpr_builder:^2.2"

Debería funcionar sin problemas. Para más información, consulta Comment 'Composer problems: "could not parse version constraint"'.


En los ejemplos anteriores, las versiones corresponden así:

  • ^1.1: corresponde a la última versión estable 10.x-1.x del módulo.
  • ~1.1: corresponde a la última versión estable 10.x-3.x del módulo.
  • 2.2.2-alpha2: corresponde a la versión 2.2.2-alpha2
  • 2.2.x-dev: corresponde a 2.2.x-dev

Para más información sobre restricciones de versión con ~ (tilde) y ^ (caret), consulta Next Significant Release Operators.

Conviene indicar la versión del módulo contribuido que quieres descargar.


Cómo usar la búsqueda de Composer

¡Buenas noticias! Los endpoints de Composer de Drupal.org admiten la función de búsqueda de Composer. Eso significa que puedes buscar proyectos de Drupal directamente desde la línea de comandos. Para usar la búsqueda de Composer, escribe:

composer search views
 

Cómo usar la exploración de Composer

Los endpoints de Composer de Drupal.org para Drupal 7 a 10 también admiten la función de exploración de Composer. Así encuentras más información sobre proyectos de Drupal directamente desde la línea de comandos. Para usar la exploración de Composer, escribe:

composer browse drupal/token