Eu instalei um site Drupal 8.2.0 com composer create-project drupal/drupal testsite
.
Agora eu gostaria de atualizá-lo para o Drupal 8.2.1. No entanto, a execução composer update drupal/drupal
não funciona. Ele imprime o seguinte erro:
O pacote "drupal / drupal" listado para atualização não está instalado. Ignorando.
Como eu faço isso? O suporte está claramente documentado em example.gitignore.
# Ignore core when managing all of a project's dependencies with Composer
# including Drupal core.
# core
Então tem que haver alguma maneira de fazer isso com o compositor, mas como?
Acho que eu resolvi isso. Imaginei que precisaria de um arquivo root composer.json diferente que puxasse o pacote drupal em vez de substituí-lo, mas não sabia como fazê-lo.
Felizmente, alguém já fez isso e reembalou o Drupal de maneira amigável ao compositor: https://github.com/drupal-composer/drupal-project (aparentemente, ainda não há uma versão estável).
Ao usar,
composer create-project drupal-composer/drupal-project:8.x-dev --stability dev drupal-dir
consegui uma instalação que pode ser atualizada com o compositor.fonte
composer create-project
usa o projeto solicitado como modelo para o novo projeto, portanto, em sua primeira tentativa, git.drupal.org/project/drupal.git foi usado como modelo para o seu novo projeto. O uso de github.com/drupal-composer/drupal-project como modelo, faz com que o Drupal seja uma parte do projeto. De fato, em vez de usardrupal/drupal
, ele usadrupal/core
(para o diretório principal) edrupal-composer/drupal-scaffold
para outros arquivos importantes como index.php e .htaccess.O comando
composer create-project
clona o pacote solicitado, que neste caso é https://git.drupal.org/project/drupal.git . No final do processo de criação do projeto, você deve ser perguntado se deseja remover o histórico existente do VCS. Se você respondeun
, você poderá atualizar a partir do repositório drupal upstream. Navegue até o site de teste e use o git para buscar e verificar a versão do Drupal desejada. Em seguida, executecomposer install
para obter as dependências identificadas em composer.json e composer.lock da versão atualizada do Drupal.fonte
Na linha de comando, precisávamos exigir o núcleo drupal (substitua pela sua versão):
No arquivo composer.json em substituir, tivemos que remover "drupal / core": "^ 8.6" para substituir se parece com:
no nosso arquivo composer.json agora. Em seguida, executamos:
e drupal atualizado para a versão mais recente.
fonte