Instalé un sitio Drupal 8.2.0 con composer create-project drupal/drupal testsite
.
Ahora me gustaría actualizarlo a Drupal 8.2.1. Sin embargo, correr composer update drupal/drupal
no funciona. Imprime el siguiente error:
El paquete "drupal / drupal" listado para actualización no está instalado. Postergación.
¿Cómo hago esto? El soporte está claramente documentado en example.gitignore.
# Ignore core when managing all of a project's dependencies with Composer
# including Drupal core.
# core
Entonces tiene que haber alguna forma de hacer esto con el compositor, pero ¿cómo?
Creo que lo resolví. Pensé que necesitaría un archivo root composer.json diferente que extrajera el paquete drupal en lugar de reemplazarlo, pero no sabía cómo hacerlo.
Afortunadamente, alguien ya ha hecho esto y ha reempacado Drupal de una manera amigable para el compositor: https://github.com/drupal-composer/drupal-project (aparentemente no hay una versión estable todavía).
Al usar
composer create-project drupal-composer/drupal-project:8.x-dev --stability dev drupal-dir
pude obtener una instalación que se puede actualizar con el compositor.fuente
composer create-project
utiliza el proyecto solicitado como plantilla para el nuevo proyecto, por lo que en su primer intento, git.drupal.org/project/drupal.git se utilizó como plantilla para su nuevo proyecto. El uso de github.com/drupal-composer/drupal-project como plantilla en su lugar, hace que Drupal sea una parte del proyecto. De hecho, en lugar de usardrupal/drupal
, usadrupal/core
(para el directorio principal) ydrupal-composer/drupal-scaffold
para los otros archivos importantes como index.php y .htaccess.El comando
composer create-project
clona el paquete solicitado, que en este caso es https://git.drupal.org/project/drupal.git . Al final del proceso de creación del proyecto, se le preguntará si desea eliminar el historial VCS existente. Si respondión
, tendrá una manera de actualizar desde el repositorio drupal ascendente. Navegue al sitio de prueba y use git para buscar y ver la versión de Drupal que desee. Luego, ejecutecomposer install
para obtener las dependencias identificadas en composer.json y composer.lock de la versión actualizada de Drupal.fuente
En la línea de comando, tuvimos que requerir drupal core (reemplazar con su versión):
En el archivo composer.json debajo de replace, tuvimos que eliminar "drupal / core": "^ 8.6", así que reemplazar parece:
en nuestro archivo composer.json ahora. Luego corrimos:
y drupal actualizado a la última versión.
fuente