web-dev-qa-db-fra.com

composer la mise à jour de drupal / drupal ne fonctionne pas: rien à installer ou à mettre à jour

J'ai installé plusieurs sites Drupal 8 avec composer car il est fortement recommandé.

Je peux mettre à jour des modules comme celui-ci:

composer require drupal/pathauto:1.1

Mais je ne peux pas mettre à jour le noyau avec

composer update drupal/core --with-dependencies (comme vu dans la documentation)

ou (pensez devrait être comme ça dans mon cas):

composer update drupal/drupal --with-dependencies

J'essaie la mise à jour de 8.4.2 à 8.5.0 sur ce site Web.

J'ai lu beaucoup de sujets à ce sujet, j'ai essayé:

  • supprimer le dossier/fournisseur
  • supprimer composer.lock

Mais ça n'a pas marché.

Comment puis-je mettre à jour mon classique Drupal (rien d'extraordinaire) avec composer? Dois-je abandonner et mettre à jour avec Drush?)

Elle est mon compositeur.json

{
    "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.24",
        "wikimedia/composer-merge-plugin": "^1.4",
        "drupal/contact_block": "^1.4",
        "drupal/twig_Tweak": "^1.9",
        "drupal/contact_ajax": "^1.4@beta",
        "drupal/pathauto": "1.1",
        "drupal/easy_breadcrumb": "^1.6",
        "drupal/redirect": "1.1",
        "drupal/views_slideshow": "^4.6",
        "drupal/bootstrap": "3.11",
        "drush/drush": "dev-master"
    },
    "replace": {
        "drupal/core": "^8.4"
    },
    "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.",
            "This file specifies the packages.drupal.org repository.",
            "You can read more about this composer repository at:",
            "https://www.drupal.org/node/2718229"
        ],
        "merge-plugin": {
            "include": [
                "core/composer.json"
            ],
            "recurse": false,
            "replace": false,
            "merge-extra": false
        },
        "installer-paths": {
            "core": ["type:drupal-core"],
            "modules/contrib/{$name}": ["type:drupal-module"],
            "profiles/contrib/{$name}": ["type:drupal-profile"],
            "themes/contrib/{$name}": ["type:drupal-theme"],
            "drush/contrib/{$name}": ["type:drupal-drush"],
            "modules/custom/{$name}": ["type:drupal-custom-module"],
            "themes/custom/{$name}": ["type:drupal-custom-theme"]
        }
    },
    "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": [
        {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        }
    ]
}
3
Sébastien Gicquel

Enfin, je pourrais mettre à jour avec ces modifications.

Étape 1, facultatif au cas où votre composer.jsoncontient cela. Si c'est ok, appliquez l'étape 2

ajouter

"require": {
        ---
        "drupal/core": "~8.5"
    },

retirer

"replace": {
    "drupal/core": "^8.4"
},

Étape 2

supprimez ce dossier:

vendor

supprimer ce fichier:

composer.lock

courir

composer update --with-dependencies
8
Sébastien Gicquel

Dans votre section "require", changez la version de drupal/core: "8.4" en drupal/core: "8.5" et exécutez composer update

0
Stef Van Looveren