web-dev-qa-db-fra.com

Comment mettre à jour le noyau vers 8.4?

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:

  1. Le filtre de date exposé de vue ne fonctionne pas correctement dans 8.3.x
  2. Le thème administratif ne fonctionne pas pour les rôles autres que les utilisateurs administrateurs

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?

2
Zoltán Süle
  1. Faites une sauvegarde de la base de données.
  2. Faites une sauvegarde de la source de code Drupal.
  3. Je devais savoir quel drush j'utilisais:

    $ drush version
    Drush Version   :  8.1.9
    

    ce qui n'est pas bon pour moi.

  4. 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.

  1. J'ai choisi la Mauvaise façon de l'installation au début, ce qui a entraîné beaucoup plus de problèmes (je ne les énumère pas ici) et enfin une installation drush que je n'ai pas pu mettre à jour mon drupal
    Juste pour mémoire, c'est la mauvaise façon: j'ai décidé d'installer drush par composer et si la version globale confond ses fonctionnalités, je supprimerai l'ancienne du système de fichiers manuellement

    J'ai exécuté cette commande à partir du répertoire racine de mon projet drupal
    $ composer require drush/drush
    Cela a installé de nombreux autres packages et mis à jour mon drush de 8.1.9 à 8.1.12. Tout avait l'air bien à ce stade.

    $ 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.

  1. LA VOIE DE TRAVAIL
    supprimez la version composer si elle existe et installez drush globalement par phar
 # 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
  1. J'ai mis à jour mon drupal de 8.3.4 à 8.3.5
    $ drush up drupal

  2. 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

  1. J'ai mis à jour mon drupal de 8.3.5 à 8.4
    $ 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.

6
Zoltán Süle

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. *

Voir https://github.com/drush-ops/drush/issues/2738 .

5
mpp

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.

2
colorfield

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.

1
Harold