Pregunta:
Quiero usar Composer para administrar las dependencias de Drupal 8, pero no estoy seguro de cuál es el flujo de trabajo de actualización del núcleo correcto. En este momento estoy usando drush para actualizar el núcleo a la última versión beta, pero también tengo algunas dependencias en mi archivo composer.json, así que después de la actualización estoy usando la instalación de composer para instalar todas las dependencias del proveedor contributivo. Parece que la ejecución de la composer install
anula algunos archivos en el directorio principal, aunque acabo de actualizar el núcleo a la última versión.
También intenté editar manualmente el archivo composer.json y reemplazar la línea "drupal / core" con la versión beta específica, por ejemplo, "drupal/core": "~8.0-beta14",
, pero aún anula los archivos en el directorio central.
¿Cuál es el flujo de trabajo correcto?
Respuesta:
Supongo que está utilizando drupal-composer / drupal-project como base para su proyecto. Si no es así, eche un vistazo a ese proyecto y compárelo con el suyo.
Además, dijiste que querías usar composer para administrar las dependencias de Drupal 8, así que supongo que has seleccionado tus módulos contrib a través de composer require drupal/devel
lugar de drush dl devel
.
Si está haciendo todas estas cosas, entonces debería usar la composer update
para actualizar el núcleo de Drupal y todos sus módulos contrib. Siempre que conserve su archivo composer.lock
, la composer install
no debería cambiar la versión de ninguna de sus dependencias. No debe usar drush pm-update
en absoluto. No debería importarle si los archivos del directorio core
se actualizan o no, ya que Composer gestiona este directorio. Es mejor que no confirme directorios administrados por el compositor en su repositorio, aunque puede hacerlo si lo desea.
Por supuesto, debe ejecutar drush updatedb
siempre que la composer update
reemplace el núcleo de Drupal o cualquier módulo.
Para evitar obtener versiones de desarrollo, establezca su estabilidad mínima en 'beta' en su archivo composer.json usando los indicadores de estabilidad de Composer .
Si está utilizando drupal-composer / drupal-project para administrar su sitio, todos los archivos de nivel raíz, como README.txt, .htaccess e index.html, pasarán a ser propiedad de su proyecto. Eso significa que debe registrarlos en su repositorio de git; Composer no los actualizará, debe actualizarlos usted mismo cuando cambien. Estos archivos deberían cambiar solo en raras ocasiones, pero drupal-composer / drupal-project tiene un script para actualizar estos archivos .