J'essaie de mettre à jour Drupal core vers 8.3, mais je rencontre des difficultés.
Au bas de la page se trouve le fichier composer.json avec lequel je commence.
Si je change "drupal / core": "~ 8.2" => "drupal / core": "~ 8.3" et que composer update drupal/core --with-dependencies
je lance, j'obtiens les problèmes suivants dont je ne sais pas comment résoudre ce problème car ils ne sont pas contenus dans le compositeur Fichier .json que j'ai inclus ci-dessous.
Your requirements could not be resolved to an installable set of packages.
Problem 1
- drupal/core 8.3.0 requires symfony/psr-http-message-bridge ^1.0 -> satisfiable by symfony/psr-http-message-bridge[1.0.x-dev].
- drupal/core 8.3.x-dev requires symfony/psr-http-message-bridge ^1.0 -> satisfiable by symfony/psr-http-message-bridge[1.0.x-dev].
- drupal/core 8.4.x-dev requires symfony/psr-http-message-bridge ^1.0 -> satisfiable by symfony/psr-http-message-bridge[1.0.x-dev].
- Conclusion: don't install symfony/psr-http-message-bridge 1.0.x-dev
- Conclusion: don't install drupal/core 8.3.0-rc2
- Conclusion: don't install drupal/core 8.3.0-rc1
- Conclusion: don't install drupal/core 8.3.0-beta1
- Installation request for symfony/psr-http-message-bridge v0.2 -> satisfiable by symfony/psr-http-message-bridge[v0.2].
- Conclusion: remove symfony/dom-crawler v3.2.6
- Installation request for drupal/core ~8.3 -> satisfiable by drupal/core[8.3.0, 8.3.0-alpha1, 8.3.0-beta1, 8.3.0-rc1, 8.3.0-rc2, 8.3.x-dev, 8.4.x-dev].
- Conclusion: don't install symfony/dom-crawler v3.2.6
- drupal/core 8.3.0-alpha1 requires symfony/dom-crawler >=2.8.13 <3.0 -> satisfiable by symfony/dom-crawler[2.8.x-dev, v2.8.13, v2.8.14, v2.8.15, v2.8.16, v2.8.17, v2.8.18, v2.8.19].
- Can only install one of: symfony/dom-crawler[2.8.x-dev, v3.2.6].
- Can only install one of: symfony/dom-crawler[v2.8.13, v3.2.6].
- Can only install one of: symfony/dom-crawler[v2.8.14, v3.2.6].
- Can only install one of: symfony/dom-crawler[v2.8.15, v3.2.6].
- Can only install one of: symfony/dom-crawler[v2.8.16, v3.2.6].
- Can only install one of: symfony/dom-crawler[v2.8.17, v3.2.6].
- Can only install one of: symfony/dom-crawler[v2.8.18, v3.2.6].
- Can only install one of: symfony/dom-crawler[v2.8.19, v3.2.6].
- Installation request for symfony/dom-crawler (locked at v3.2.6) -> satisfiable by symfony/dom-crawler[v3.2.6].
original composer.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": {
"drupal/core": "~8.2",
"drupal/backup_migrate": "4.x-dev",
"composer/installers": "^1.0.21",
"wikimedia/composer-merge-plugin": "~1.3",
"drupal/console": "^1.0",
"drupal/file_browser": "^1.0@alpha",
"enyo/dropzone": "4.2.0",
"desandro/masonry": "3.3.1",
"desandro/imagesloaded": "3.1.8",
"drupal/admin_toolbar": "^1.18",
"drupal/ctools": "^3.0@alpha",
"drupal/devel": "^1.0@beta",
"drupal/migrate_tools": "^3.0",
"drupal/migrate_plus": "^3.0",
"drupal/media_entity": "^1.6",
"drupal/media_entity_document": "^1.1",
"drupal/media_entity_image": "^1.2",
"drupal/inline_entity_form": "^1.0@beta",
"drupal/entity_embed": "^1.0@beta",
"drupal/entity_browser": "^1.0@beta",
"paquettg/php-html-parser": "^1.7",
"drupal/better_exposed_filters": "^3.0@alpha",
"drupal/workbench_access": "^1.0@alpha",
"drupal/webform": "^5.0@beta",
"j7mbo/twitter-api-php": "^1.0",
"nesbot/carbon": "^1.22",
"Drupal/userprotect": "^1.0",
"drupal/config_ignore": "^1.2",
"Drupal/permissions_by_term": "^1.16",
"Drupal/views_menu_children_filter": "^1.0@alpha",
"drupal/sitemap": "^1.2",
"drupal/xmlsitemap": "^1.0@alpha",
"drupal/simple_sitemap": "^2.8",
"drupal/redirect": "^1.0@alpha",
"drupal/metatag": "^1.0",
"drupal/acl": "^1.0@alpha",
"drupal/examples": "1.x-dev",
"drupal/honeypot": "^1.23",
"drupal/field_collection": "^1.0@alpha",
"drupal/dropzonejs": "^1.0@alpha",
"drupal/embed": "^1.0@RC",
"drupal/pathauto": "^1.0@RC",
"drupal/rabbit_hole": "^1.0@beta",
"drupal/entity_reference_display": "^1.0",
"drupal/field_group": "^1.0@RC",
"drupal/layouter": "^1.0",
"drupal/mailsystem": "^4.1",
"drupal/mimemail": "^1.0@alpha",
"drupal/permissions_by_term": "^1.17",
"drupal/content_access": "1.x-dev",
"drupal/rules": "^3.0@alpha",
"drupal/smart_trim": "^1.0",
"drupal/taxonomy_menu": "^3.3",
"drupal/token": "^1.0@RC",
"drupal/typed_data": "^1.0@alpha",
"drupal/video_embed_field": "^1.4",
"drupal/views_infinite_scroll": "^1.3",
"drupal/noreferrer": "^1.1",
"drupal/system_status": "^2.4",
"drupal/google_analytics": "^2.1"
},
"replace": {
},
"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."
],
"merge-plugin": {
"include": [
"core/composer.json"
],
"recurse": false,
"replace": false,
"merge-extra": false
},
"installer-paths": {
"modules/contrib/{$name}": [
"type:drupal-module"
],
"modules/custom/{$name}": [
"type:drupal-custom-module"
],
"libraries/{$name}": [
"type:drupal-library"
],
"profiles/contrib/{$name}": [
"type:drupal-profile"
],
"themes/contrib/{$name}": [
"type:drupal-theme"
],
"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"
},
"dependencies": {
"backupmigrate/core": "dev-master",
"psr/log": "dev-master"
},
"repositories": [
{
"type": "composer",
"url": "https://packages.drupal.org/8"
},
{
"type": "package",
"package": {
"name": "desandro/masonry",
"version": "3.3.1",
"type": "drupal-library",
"dist": {
"url": "https://github.com/desandro/masonry/archive/v3.3.1.zip",
"type": "zip"
}
}
},
{
"type": "package",
"package": {
"name": "desandro/imagesloaded",
"version": "3.1.8",
"type": "drupal-library",
"dist": {
"url": "https://github.com/desandro/imagesloaded/archive/v3.1.8.zip",
"type": "zip"
}
}
},
{
"type": "package",
"package": {
"name": "enyo/dropzone",
"version": "4.2.0",
"type": "drupal-library",
"source": {
"url": "https://github.com/enyo/dropzone",
"type": "git",
"reference": "origin/master"
}
}
},
{
"type": "vcs",
"url": "https://github.com/backupmigrate/backup_migrate_core"
}
]
}
Réponses:
Semblable à @rreiss, j'ai dû supprimer .lock. C'est ce qui a fonctionné pour moi:
la première ligne peut être unique à votre projet, confirmez en recherchant les chemins d'installation dans votre composer.json.
la source
Je suis juste tombé sur cette même chose. Pour résoudre ce problème, j'ai sauvegardé / supprimé le répertoire / vendor et exécuté à nouveau la «mise à jour du compositeur» afin que Composer télécharge à nouveau toutes les dépendances. Je pense que les dépendances installées et celles requises sont désynchronisées.
la source
J'ai eu un problème très similaire lors de la tentative de mise à niveau de 8.3.7 vers 8.4.0. Je pense avoir trouvé le coupable.
Dans le fichier DOCROOT composer.json, je vois les lignes suivantes:
Ainsi, le fichier DOCROOT composer.json fait référence au
core/composer.json
fichier et requiert également ces dépendances. Le problème est qu'il examine les dépendances de votre version de Drupal actuellement installée , tandis que la version mise à niveau a de nouvelles dépendances. Cela crée le conflit que nous voyons.Voici la solution que j'ai trouvée qui fonctionne. Il ne nécessite pas de supprimer des fichiers ou des modules.
1) Téléchargez une copie du
core/composer.json
fichier depuis l'archive tar de la version de Drupal vers laquelle vous effectuez la mise à niveau .2) Dans votre installation actuelle, remplacez le
core/composer.json
fichier par la nouvelle version que vous venez de télécharger.3) Mettez à jour votre fichier DOCROOT composer.json avec "drupal / core: ~ 8.xx" (quelle que soit la mise à niveau).
4) Courez
composer update --with-dependencies
comme d'habitude. Cette fois, la mise à jour devrait se poursuivre. Ensuite, appliquez les mises à jour de la base de données / entités, reconstruisez le cache, etc. etc.Je suis un utilisateur Windows et certainement plus un constructeur de sites, donc je n'essaierai même pas de publier des invites de ligne de commande pour faire ces choses sous Linux. Et je ne sais pas si c'est une solution "correcte", ni même pourquoi le code ci-dessus bloque la mise à niveau, mais c'est ce qui a fonctionné pour moi!
la source
Juste en notant que cela semblait fonctionner pour moi pour la mise à jour principale de 8.2.3> 8.3.7. Notez que mon installation Drupal 8 a utilisé ceci: https://github.com/drupal-composer/drupal-scaffold qui a cette structure de répertoire:
.git
.gitignore
composer.json
composer.lock
config
scripts
fournisseur
web
rm -rf vendor && rm -rf web/core && rm -f composer.lock
composer require drupal/core:8.3.7 --update-with-dependencies
drush updb
) et exécutez les mises à jour. Il dira qu'il y en a 17 à courir. Il retournera probablement des erreurs, si c'est le cas, allez dans /update.php et exécutez à nouveau les mises à jour (cette fois, il y aura moins à exécuter). Allez à la page d'accueil quand c'est fait.la source