Para atualizar o Drupal usando o Composer, basta mover a "drupal/core": "~8.1"
linha da seção de substituição para a seção de necessidade . No final, o conteúdo do arquivo composer.json é semelhante ao seguinte.
{
"name": "drupal/drupal",
"description": "Drupal is an open source content management platform powering millions of websites and applications.",
"type": "project",
"license": "GPL-2.0+",
"require": {
"composer/installers": "^1.0.21",
"wikimedia/composer-merge-plugin": "~1.3",
"drupal/core": "~8.1"
},
"minimum-stability": "dev",
"prefer-stable": true,
"config": {
"preferred-install": "dist",
"autoloader-suffix": "Drupal8"
},
"extra": {
"_readme": [
"By default Drupal loads the autoloader from ./vendor/autoload.php.",
"To change the autoloader you can edit ./autoload.php."
],
"merge-plugin": {
"include": [
"core/composer.json"
],
"recurse": false,
"replace": false,
"merge-extra": false
}
},
"autoload": {
"psr-4": {
"Drupal\\Core\\Composer\\": "core/lib/Drupal/Core/Composer"
}
},
"scripts": {
"pre-autoload-dump": "Drupal\\Core\\Composer\\Composer::preAutoloadDump",
"post-autoload-dump": "Drupal\\Core\\Composer\\Composer::ensureHtaccess",
"post-package-install": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup",
"post-package-update": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup"
},
}
Eu estava acostumado a executar drush upc
a atualização do Drupal, mas isso substituiu meu arquivo composer.json e o diretório do fornecedor. Como consequência disso, devo executar composer update
o tempo todo para atualizar o conteúdo do diretório de fornecedores .
Agora, usando o Composer para atualizar o Drupal, também posso usá-lo para baixar / atualizar os módulos que estou usando.
O arquivo composer.json que estou usando é o seguinte.
{
"name": "drupal/drupal",
"description": "Drupal is an open source content management platform powering millions of websites and applications.",
"type": "project",
"license": "GPL-2.0+",
"require": {
"composer/installers": "^1.0.21",
"wikimedia/composer-merge-plugin": "~1.3",
"drupal/core": "~8.1",
"drupal/imagick": "8.1.*@dev",
"drupal/mollom": "^8.1",
"drupal/honeypot": "^8.1"
},
"minimum-stability": "dev",
"prefer-stable": true,
"config": {
"preferred-install": "dist",
"autoloader-suffix": "Drupal8"
},
"extra": {
"_readme": [
"By default Drupal loads the autoloader from ./vendor/autoload.php.",
"To change the autoloader you can edit ./autoload.php."
],
"merge-plugin": {
"include": [
"core/composer.json"
],
"recurse": false,
"replace": false,
"merge-extra": false
}
},
"autoload": {
"psr-4": {
"Drupal\\Core\\Composer\\": "core/lib/Drupal/Core/Composer"
}
},
"scripts": {
"pre-autoload-dump": "Drupal\\Core\\Composer\\Composer::preAutoloadDump",
"post-autoload-dump": "Drupal\\Core\\Composer\\Composer::ensureHtaccess",
"post-package-install": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup",
"post-package-update": "Drupal\\Core\\Composer\\Composer::vendorTestCodeCleanup"
},
"repositories": {
"drupal": {
"type": "composer",
"url": "https://packagist.drupal-composer.org"
}
}
}
Além de mover essa linha como eu disse, também executei os seguintes comandos.
composer config repositories.drupal composer https://packagist.drupal-composer.org
composer require drupal/honeypot
composer require drupal/mollom
composer require drupal/imagick 8.1.*@dev
O primeiro permite-me exigir módulos Drupal e atualizá-los.
A última vez que tentei, o repositório oficial do Drupal ainda estava no estágio alfa e me deu problemas com módulos que se declaravam pacotes do Composer, mas não com a configuração do tipo de pacote (ou seja, drupal-module). Espero que eles tenham resolvido o problema agora. Para o repositório do Drupal Packager, os comandos a serem usados são os seguintes.
composer config repositories.drupal composer https://packages.drupal.org/8
composer require drupal/honeypot
composer require drupal/mollom
composer require drupal/imagick 1.*@dev
Se você já estava usando o https://packagist.drupal-composer.org e deseja substituir pelo site oficial do Packagist, precisará substituir o primeiro comando por composer config repositories.0 composer https://packages.drupal.org/8
, que funciona se você não tiver outros repositórios, baseando-se Usando packages.drupal.org .
Observe também que o packagist.drupal-composer.org está programado para ser preterido em janeiro de 2017 (ou quando o Repositório de Pacotes oficial do Drupal.org estiver pronto) .
drush up drupal
, acho que isso pode substituir o seu compositor.json tho (e outros arquivos), faça backup e reverta, se necessário. Depois que o usocomposer update
e você deve ser bom para ir