Skip to main content

Drupal 8 - Instal·lant mòduls i themes amb composer

Logo Composer.org

Malauradament, en la meva modesta opinió, cada vegada és més normal que els mòduls contribuïts de Drupal tinguin dependències de llibreries o biblioteques de tercers. Amés, alguns d'aquests mòduls només es poden instal·lar amb Composer. Si heu instal·lat Drupal 8 utilitzant Composer (el més recomanable), de ben segur voldreu utilitzar també Composer per descarregar tots els mòduls i temes per al vostre web Drupal.

Com a referència aquí teniu els enllaços oficials on trobareu tota la informació al respecte:

 

En resúm i recomanant molt llegir l'anterior enllaç, es tracta de utilitzar el Terminal, posicionant-se primer a l'arrel del nostre web local (cd /Users/joan/Sites/nomserverremot.cat/composer-install/elmeuwebdrupalero), amb les següent ordres:

Per descarregar un mòdul o tema utilitzarem l'ordre:

composer require drupal/<module>

Per exemple composer require drupal/token

 

Composer actualitzarà, automàticament el teu composer.json, afegint el mòdul i tota la resta de requeriments a la llista, així:

{

  "require": {

    "drupal/token": "^1.5"

  }

}

Després pots habilitat el mòdul de dues maneres:

  • Utilitzant la interfície estàndard del navegador web de Drupal. Aquesta és la que a mi m'agrada més.
  • Utilitzant una eina de línia d'ordres con Drush o Drupal Console

Per a instal·lar un mòdul podeu utilitzar el nom del projecte o el nom del mòdul específic d'un projecte.

Composer descarregarà tot el projecte que conté un mòdul en particular. Per exemple, si necessiteu el mòdul fe_block del projecte features_extra, podeu cridar-lo d'aquestes dues maneres:

  • composer require drupal/features_extra
  • composer require drupal/fe_block

 

Especificant una versió

També pots especificar una versió en concret d'un mòdul o tema; s'ha de cridar de la següent manera:

composer require 'drupal/<modulename>:<version>'

Per exemple:

composer require 'drupal/token:^1.5' composer require 'drupal/simple_fb_connect:~3.0' composer require 'drupal/ctools:3.0.0-alpha26' composer require 'drupal/token:1.x-dev'

Per evitar problemes, que sempre està bé, en diferents terminals o "shells", utilitzeu les comentes senzilles a l'inici i final del nom de la vesió, com a l'exemple.

  • ^1.5: maps to the latest stable 8.x-1.x release of the module.
  • ~3.0: maps to the latest stable 8.x-3.x release of the module.
  • 3.0.0-alpha26: maps to version 8.x-3.0-alpha26
  • 1.x-dev: maps to 8.x-1.x-dev

Podeu saber-ne més del significat d'aquestos operadors ~ i ^ a Next Significant Release Operators

 

Cercant mòduls; search

Des de Composer també pots cercar un projecte de mòdul o tema directament al Terminal. La comanda es search i s'utilitza de la següent manera:

composer search views

I obtindrem com a resultat: 

joan$ composer search views

drupal/calendar Provides a Views plugin to display views containing dates as Calendars.

drupal/views_templates Reintroduces dynamic default views.

drupal/views 

 

Actualitzant mòduls; search

Per actualitzar els mòduls teniu la informació a: https://www.drupal.org/docs/8/update/update-modules, però en resum:

Amb la següent comanda es llisten els paquets que tenen actualitzacions:

composer outdated 'drupal/*'

Llista de actualitzacions de seguretat:

drush pm:security

Instal·lar les actualitzacions:

composer update drupal/modulename --with-dependencies

Finalment, executa totes les actualitzacions de la base de dades, refés la catxé i exporta els potencials canvis de configuracions, revisa els canvis via --diff:

drush updatedb

drush cache:rebuild

drush config:export --diff

En el proper article, espero que aviat, escriuré de cóm es poden definir els directoris als quals s'han de descarregar els mòduls, temes, biblioteques, ec.. Aquí la documentació al respecte:

 

Per desinstal·lar mòduls:

composer remove drupal/<module>

 

Si us dona errors de falta de memòria.. 

joan$ COMPOSER_MEMORY_LIMIT=-1 composer require drupal/<module>

Catalan
familyarttattoo.com
twoanchorsblog
Dominiques de l'Ensenyament
Llumàtics
indiaalacarta.com
Muradine
FAVB
Pocallum
Sindicat de Periodistes de Catalunya
Festival de Blues de Barcelona
TattooLife
BarcelonaTattooExpo
Ateneu Popular de 9 Barris
PictureBCN
Institut Català de Paleontologia
Logotip Xarxa 9 Barris Acull
Hotel Peninsular
davinci-barcelona.com
MacBCN
Ajuntament de Sant Adria de Besòs