通过 Composer 安装 cakephp/localized 时出错,与 cakephp/chronos 和 cakephp/database 冲突

Error installing cakephp/localized via Composer, conflicts with cakephp/chronos and cakephp/database

我尝试使用以下命令安装 cakephp/localized:

composer require cakephp/localized

或:

composer.phar require --update-with-dependencies "cakephp/localized"

并给出以下错误:

$ composer.phar require --update-with-dependencies -W "cakephp/localized"
Using version ^3.5 for cakephp/localized
./composer.json has been updated
Running composer update cakephp/localized --with-all-dependencies
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - cakephp/localized[3.5.0, ..., 3.5.2] require cakephp/cakephp ^3.5 -> satisfiable by cakephp/cakephp[3.5.0, ..., 3.10.0].
    - cakephp/cakephp[3.5.0, ..., 3.5.14] require cakephp/chronos ^1.0.0 -> found cakephp/chronos[1.0.0, ..., 1.3.0] but it conflicts with your root composer.json require (^2).
    - cakephp/cakephp[3.5.15, ..., 3.10.0] require cakephp/chronos ^1.0.1 -> found cakephp/chronos[1.0.1, ..., 1.3.0] but it conflicts with your root composer.json require (^2).
    - Root composer.json requires cakephp/localized ^3.5 -> satisfiable by cakephp/localized[3.5.0, 3.5.1, 3.5.2].


Installation failed, reverting ./composer.json and ./composer.lock to their original content.

如果我在composer.json文件中手动输入cakephp/localized no并给出composer.update命令,它与cakephp/database冲突:

$ composer update
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires selective/array-reader ^1.1 -> satisfiable by selective/array-reader[1.1.0].
    - selective/array-reader 1.1.0 requires cakephp/chronos ^2 -> found cakephp/chronos[2.0.0, ..., 2.2.0] but it conflicts with your root composer.json require (^1).
  Problem 2
    - Root composer.json requires cakephp/localized 3.5.2 -> satisfiable by cakephp/localized[3.5.2].
    - Conclusion: don't install cakephp/database 4.0.2 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.0.3 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.0.4 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.0.5 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.0.6 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.0.7 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.0.8 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.0.9 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.1.0 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.1.1 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.1.2 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.1.3 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.1.4 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.1.5 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.1.6 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.1.7 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.2.0 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.2.1 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.2.2 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.2.3 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.2.4 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.2.5 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.2.6 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.2.7 (conflict analysis result)
    - Conclusion: don't install cakephp/database 4.0.1 (conflict analysis result)
    - cakephp/localized 3.5.2 requires cakephp/cakephp ^3.5 -> satisfiable by cakephp/cakephp[3.5.0, ..., 3.10.0].
    - Only one of these can be installed: cakephp/cakephp[3.5.0, ..., 3.10.0], cakephp/database[4.0.0, ..., 4.2.7]. cakephp/cakephp replaces cakephp/database and thus cannot coexist with it.
    - Root composer.json requires cakephp/database ^4 -> satisfiable by cakephp/database[4.0.0, ..., 4.2.7].

使用选项 --with-all-dependencies (-W) 允许升级、降级和删除当前锁定到特定版本的包。

以下依赖项在我的 composer.json 文件中:

"cakephp/chronos": "^2",
"cakephp/database": "^4",
"cakephp/validation": "^4.2",

我该如何解决这个错误?

我使用 cakephp/localized

的 4.x 版本解决了这个问题

错误信息很清楚:

  Problem 1
    - cakephp/localized[3.5.0, ..., 3.5.2] require cakephp/cakephp ^3.5 -> satisfiable by cakephp/cakephp[3.5.0, ..., 3.10.0].
    - cakephp/cakephp[3.5.0, ..., 3.5.14] require cakephp/chronos ^1.0.0 -> found cakephp/chronos[1.0.0, ..., 1.3.0] but it conflicts with your root composer.json require (^2).

您想安装需要 cakephp/chronos v1 的软件包,但您已经需要 cakephp/chronos v2。在您自己的 composer.json 中将软件包降级到 v1,或者搜索支持 cakephp/chronos v2

的其他软件包的更新版本