将 Drupal 8.9.13 迁移到 9.0.1 的问题

问题描述

我正在尝试从 8.9.13 更新到 9.0.1(打算总体迁移到 9,而不是专门迁移到 9.0.1)

它在一个作曲家网站上。

我正在跑步:

composer require drupal/core:^9.0.1  drupal/core-dev:^9.0.1 --update-with-all-dependencies

我一直遇到以下错误

Problem 1
    - drupal/loft_data_grids is locked to version 1.3.0 and an update of this package was not requested.
    - drupal/loft_data_grids 1.3.0 requires drupal/core ~8.0 -> found drupal/core[8.0.0-beta6,...,8.9.x-dev] but it conflicts with your root composer.json require (^9.0.1).
  Problem 2
    - drupal/upgrade_status is locked to version 3.4.0 and an update of this package was not requested.
    - drupal/upgrade_status 3.4.0 requires drupal/core ^8.7.0 -> found drupal/core[8.7.0-alpha1,8.9.x-dev] but it conflicts with your root composer.json require (^9.0.1).
  Problem 3
    - drupal/backup_migrate is locked to version 5.0.0-rc2 and an update of this package was not requested.
    - Conclusion: don't install symfony/process[v4.4.0-BETA1] | install symfony/process[v3.4.39] (conflict analysis result)
    - Conclusion: don't install symfony/process v3.4.39 (conflict analysis result)
    - Conclusion: don't install drupal/core 9.1.4 (conflict analysis result)
    - Conclusion: don't install symfony/process v4.4.0-BETA2 (conflict analysis result)
    - Conclusion: don't install symfony/process v4.4.0-RC1 (conflict analysis result)
    - Conclusion: don't install symfony/process v4.4.0 (conflict analysis result)
.... remvoed for brevity of symfony/profess v4.4.1 - 4.4.2 - etc until 4.4.19
    - Conclusion: don't install symfony/process v4.4.19 (conflict analysis result)
    - drupal/recaptcha 3.0.0 requires drupal/captcha ^1.0.0-alpha1 -> satisfiable by drupal/captcha[1.1.0].
    - drupal/recaptcha is locked to version 3.0.0 and an update of this package was not requested.
    - drush/drush is locked to version 10.3.6 and an update of this package was not requested.
    - drupal/captcha 1.1.0 requires drupal/core ^8.8 || ^9 -> satisfiable by drupal/core[9.0.1,9.2.x-dev].
    - drupal/core[9.0.1,9.2.x-dev] require symfony/process ^4.4 -> satisfiable by symfony/process[v4.4.0-BETA1,4.4.x-dev].
    - Conclusion: don't install symfony/process 4.4.x-dev (conflict analysis result)

有人能帮我开导吗?

提前致谢!

解决方法

仔细阅读问题陈述,针对问题 1

- drupal/loft_data_grids 1.3.0 requires drupal/core ~8.0

这表明 Loft Data Grids 对 Drupal 8.x 有约束,因此出现错误。当您点击链接时,您还会看到该项目没有 Drupal 9 版本,因此这已经阻止了您的升级。尝试应用 Drupal 9 ReadinessAutomated Drupal 9 compatibility fixes 中的补丁。

同样适用于问题 2 Upgrade Status,虽然您在 Drupal 9 中不需要这个模块,所以在升级之前考虑删除这个模块:

- drupal/upgrade_status 3.4.0 requires drupal/core ^8.7.0

我建议您在尝试运行 Composer 升级命令到 Drupal 9 之前,首先修复一般尚未为 Drupal 9 做好准备的模块约束,因为它们都会以类似的方式停止升级。

请参阅 Apply Drupal 9 compatibility patches with ComposerRequire v8 only contrib module with v9 patch 以了解尚未使用 Drupal 9 版本标记但具有可以应用的补丁的 Drupal 8 模块。