J'ai vérifié les autres questions liées à ce sujet, mais la moitié d'entre elles n'ont obtenu aucune réponse utile et l'autre moitié ne m'a pas aidé.
Je rencontre plusieurs problèmes pour créer un site en utilisant Drupal 8:
Je voulais mettre à jour un site de 8.3 à 8.4 car la plupart des correctifs sont fournis pour 8.4, et j'espérais que j'obtiendrais moins de problèmes.
Drupal 8.4 est juste disponible en tant qu'instantané de développement, pour le moment, et Drush ne m'a pas laissé mettre à jour le site vers cette version.
De plus, la version Drush installée (v8.1.9) n'est pas compatible avec Drupal 8.4.
Comment mettre à jour Drupal vers 8.4 en utilisant la version de Drush que j'ai installée?
Je devais savoir quel drush j'utilisais:
$ drush version
Drush Version : 8.1.9
ce qui n'est pas bon pour moi.
Je devais savoir s'il s'agissait d'une installation locale ou globale
$ locate drush
/usr/local/bin/drush
$ dpkg -l | grep drush
rc drush 5.10.0-2ubuntu1
il semble que le paquet ubuntu ait été supprimé auparavant et qu'il n'ait pas été installé par pear:
$ pear list
Installed packages, channel pear.php.net:
=========================================
Package Version State
Archive_Tar 1.4.0 stable
Console_Getopt 1.4.1 stable
HTTP_Request2 2.2.1 stable
Net_URL2 2.2.0 stable
PEAR 1.10.1 stable
PEAR_Manpages 1.10.0 stable
PHP_CodeSniffer 2.5.1 stable
Structures_Graph 1.1.1 stable
XML_Util 1.3.0 stable
Il ne peut donc s'agir que d'une installation phar globale.
$ composer require drush/drush
$ drush version
Version Drush: 8.1.12
$ drush up drupal
abouti
Impossible de charger la classe\Drush\VersionControl\Backup.
J'ai supprimé le drush 8.1.12 et installé la version drush 9.x.
Je n'ai pas pu mettre à jour mon site drupal, j'ai donc supprimé le package drush local et ses dépendances.
# Téléchargez la dernière version stable à l'aide du code ci-dessous ou accédez à github.com/drush-ops/drush/releases.[.____.. /download/8.1.16/drush.phar[.____. diplomatique.______________ Testez votre installation. php drush.phar core-status # Renommer `drush` au lieu de` php drush.phar`. La destination peut être n'importe où sur $ PATH. chmod + x drush.phar Sudo mv drush.phar /usr/local/bin/drush
J'ai mis à jour mon drupal de 8.3.4 à 8.3.5$ drush up drupal
J'ai obtenu le nom du package du drupal 8.4 par cette commande$ drush dl drupal-8 --select
[0]: Annuler [1]: 8.4.x-dev - 2017-juil-22 - Développement [2]: 8.3.5 - 2017-juil-05 - Pris en charge, recommandé [3]: 8.3.4 - 2017-juin-21 - Sécurité
J'ai choisi 0
$ drush pm-update drupal-8.4.x-dev
Dernière mise à jour des informations de mise à jour: lun, 06/26/2017 - 18:31 Nom Version installée Version proposée Message Drupal 8.3.5 8.4.x-dev Version spécifiée disponible Voulez-vous vraiment continuer? (O/n): y
À la fin, j'ai eu 3 erreurs, mais la mise à jour a réussi.
Malheureusement, la version drupal 8.4.x-dev n'a résolu aucun de mes problèmes.
Il est préférable de mettre à jour les dépendances à l'aide de composer:
composer update drupal/core --with-dependencies
Jetez un oeil à https://www.drupal.org/docs/8/update/update-procedure-in-drupal-8
Notez que vous aurez également besoin de drush 9.x: composer nécessite drush/drush: 9. *
Un tutoriel est lié à la mise à jour de 8.3 à 8.4 'Mise à jour vers Drupal core 8.4, un guide étape par étape'
De plus, ce n'est pas une réponse directe à la question, mais un bon endroit pour mentionner que cet assistant Drupal Composer entend faciliter le processus de mise à jour.
Le motif derrière l'écriture de ce plugin était de rendre une configuration Drupal composer basée plus maintenable. Il est facile de commencer avec le modèle fourni par drupal-composer/drupal -project mais la mise à jour est difficile. Le plugin résout ce problème en gardant tout le code en dehors de votre projet et dans le plugin qui rendrait la mise à jour aussi simple que l'exécution de composer update.
Quand j'ai couru composer update drupal/core --with-dependencies
, J'ai eu l'erreur suivante:
Le package "drupal/core" répertorié pour la mise à jour n'est pas installé. Ignorer.
J'ai donc déménagé "drupal/core": "~8.3"
de la section replace à la section require du fichier composer.json.
Je pense que ce n'est pas recommandé, mais cela fonctionne.