Para actualizar Drupal usando Composer, solo necesita mover la "drupal/core": "~8.1"
línea desde la sección de reemplazo a la sección requerida . Al final, el contenido del archivo composer.json es como el siguiente.
{
"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"
},
}
Estaba acostumbrado a ejecutar drush upc
para actualizar Drupal, pero eso anuló mi archivo composer.json y el directorio de proveedores. Como consecuencia de esto, debo ejecutar composer update
todo el tiempo para actualizar el contenido del directorio de proveedores .
Ahora, usando Composer para actualizar Drupal, también puedo usarlo para descargar / actualizar los módulos que estoy usando.
El archivo composer.json que estoy usando es el siguiente.
{
"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"
}
}
}
Además de mover esa línea como dije, también ejecuté los siguientes 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
El primero me permite requerir módulos de Drupal y actualizarlos.
La última vez que lo intenté, el repositorio oficial de Drupal todavía estaba en etapa alfa, y me dio problemas con los módulos que se declararon como paquetes Composer, pero no establecieron el tipo de paquete (es decir, drupal-module). Espero que hayan solucionado el problema ahora. Para el repositorio de Drupal Packager, los comandos a utilizar son los siguientes.
composer config repositories.drupal composer https://packages.drupal.org/8
composer require drupal/honeypot
composer require drupal/mollom
composer require drupal/imagick 1.*@dev
Si ya estaba usando https://packagist.drupal-composer.org y desea reemplazarlo con el sitio oficial de Packagist, debe reemplazar el primer comando con composer config repositories.0 composer https://packages.drupal.org/8
, que funciona si no tiene otros repositorios, basándose en Usando paquetes.drupal.org .
Tenga en cuenta también que está previsto que packagist.drupal-composer.org quede en desuso en enero de 2017 (o cuando el Repositorio de paquetes oficial de Drupal.org esté listo) .
drush up drupal
, creo que esto podría anular su composer.json aunque (y otros archivos), así que haga una copia de seguridad y revísela si es necesario. Después de ese usocomposer update
y debería estar listo