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é:
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"
}
]
}
Enfin, je pourrais mettre à jour avec ces modifications.
Étape 1, facultatif au cas où votre composer.json
contient 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
Dans votre section "require", changez la version de drupal/core: "8.4" en drupal/core: "8.5" et exécutez composer update