Estender o Drupal 10 com o Composer.

Aprender DrupalPrimeiros passos
Atualmente, é bastante comum os módulos contribuídos do Drupal dependerem de bibliotecas de terceiros. Alguns destes módulos só podem ser instalados com o Composer. Se já obteve o núcleo do Drupal com o Composer, ou se um módulo exige o Composer, deve usar o Composer para transferir todos os módulos e temas. Se misturar atualizações do Composer com outros métodos, poderá ter problemas de atualização bastante incómodos.
 

Obter módulos e temas contribuídos com o Composer

Quer transferir módulos ou temas contribuídos do Drupal com o Composer? Eis como:

  • Escreva composer require drupal/module_name
  • Por exemplo: composer require drupal/token
  • Certifique-se de que está na raiz da instalação do Drupal

O Composer atualiza então o ficheiro composer.json, adicionando o módulo à lista dos restantes requisitos, assim:

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

O Composer transfere o módulo e quaisquer dependências.

Para ativar o módulo Drupal, tem duas opções:

Ao requerer módulos, pode usar o nome do projeto ou o nome específico do módulo dentro de um projeto:

  • O Composer transfere todo o projeto que contém um determinado módulo.
  • Por exemplo, se precisar do módulo fe_block do projeto features_extra, pode escolher uma das seguintes opções:
    • composer require drupal/features_extra
    • composer require drupal/fe_block
 

Escolher uma versão

Se quiser especificar a versão do módulo ou tema a transferir, faça assim:

composer require 'drupal/module_name:version'

(Basta substituir version pela versão ou restrição de versão real do Composer.)

Por exemplo:

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 problemas em diferentes terminais ou shells, coloque a versão entre aspas, como nos exemplos acima.


Atenção! No Windows, usar aspas (simples) pode invalidar a especificação da versão, causando uma falha na instalação com 'Could not parse version constraint .....': Invalid version string "....'".

Sem as aspas, por exemplo:

composer require drupal/dxpr_builder:^2.2

Ou usando aspas duplas em vez de aspas simples, assim:

composer require "drupal/dxpr_builder:^2.2"

Deve funcionar sem problemas. Para mais informações, consulte Comment 'Composer problems: "could not parse version constraint"'.


Nos exemplos acima, as versões correspondem da seguinte forma:

  • ^1.1: corresponde à última versão estável 10.x-1.x do módulo.
  • ~1.1: corresponde à última versão estável 10.x-3.x do módulo.
  • 2.2.2-alpha2: corresponde à versão 2.2.2-alpha2
  • 2.2.x-dev: corresponde a 2.2.x-dev

Para mais informações sobre restrições de versão com ~ (til) e ^ (circunflexo), consulte Operadores de próxima versão significativa.

É recomendável especificar a versão do módulo contribuído a transferir.


Pesquisar com o Composer

Boas notícias! Os endpoints de composer do Drupal.org suportam a função pesquisa do Composer. Isto significa que pode pesquisar projetos Drupal diretamente na linha de comandos. Para usar a pesquisa do Composer, escreva:

composer search views
 

Navegar com o Composer

Os endpoints de composer do Drupal.org para Drupal 7 a 10 suportam também a função navegação do Composer. Isto permite encontrar informações adicionais sobre projetos Drupal diretamente na linha de comandos. Para usar a navegação do Composer, escreva:

composer browse drupal/token