无法通过Composer升级Yii2版本

无法通过Composer升级Yii2版本,yii2,composer-php,Yii2,Composer Php,我正在尝试更新我的Yi2Basic应用程序版本,因为我认为它与我的新XAMPP(PHP7.4.1)不兼容 我就是这样做的: composer self-update composer global require "fxp/composer-asset-plugin:^1.4.1" --no-plugins composer require "yiisoft/yii2:~2.0.14" --update-with-dependencies 以下是它在命令窗口中的显示方式: ./composer

我正在尝试更新我的Yi2Basic应用程序版本,因为我认为它与我的新XAMPP(PHP7.4.1)不兼容

我就是这样做的:

composer self-update
composer global require "fxp/composer-asset-plugin:^1.4.1" --no-plugins
composer require "yiisoft/yii2:~2.0.14" --update-with-dependencies
以下是它在命令窗口中的显示方式:

./composer.json has been updated
The "extra.asset-installer-paths" option is deprecated, use the "config.fxp-asset.installer-paths" option
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
- Conclusion: remove phpunit/phpunit 5.7.x-dev
- Conclusion: remove sebastian/recursion-context 3.0.x-dev
- Installation request for phpunit/phpunit (locked at 5.7.x-dev) -> satisfiable by phpunit/phpunit[5.7.x-dev].
- Conclusion: don't install sebastian/recursion-context 3.0.x-dev
- phpunit/phpunit 5.7.x-dev requires sebastian/object-enumerator ~2.0 -> satisfiable by sebastian/object-enumerator[2.0.0, 2.0.1, 2.0.x-dev].
- sebastian/object-enumerator 2.0.0 requires sebastian/recursion-context ~2.0 -> satisfiable by sebastian/recursion-context[2.0.0, 2.0.x-dev].
- sebastian/object-enumerator 2.0.1 requires sebastian/recursion-context ~2.0 -> satisfiable by sebastian/recursion-context[2.0.0, 2.0.x-dev].
- sebastian/object-enumerator 2.0.x-dev requires sebastian/recursion-context ^2.0 -> satisfiable by sebastian/recursion-context[2.0.0, 2.0.x-dev].
- Can only install one of: sebastian/recursion-context[2.0.0, 3.0.x-dev].
- Can only install one of: sebastian/recursion-context[2.0.x-dev, 3.0.x-dev].
- Installation request for sebastian/recursion-context (locked at 3.0.x-dev) -> satisfiable by sebastian/recursion-context[3.0.x-dev].


Installation failed, reverting ./composer.json to its original content.
我也试过这些台词,但都不管用:

composer require "yiisoft/yii2:2.0.14" --update-with-dependencies
composer require "yiisoft/yii2:~2.0.14"

只需按如下方式更新composer.json:

....
    "require": {
        "php": ">=5.6.0",
        "yiisoft/yii2": "~2.0.14",
....

    "require-dev": {
        "codeception/codeception": "*",
我们将Yii2的最小版本更改为2.0.14,将Yii2 codeception直接更改为codeception

别忘了将bower和npm资产配置更新为较新的composer配置。较新的配置如下所示


    "config": {
        "vendor-dir": "vendor",
        "process-timeout": 1800,
        "fxp-asset":{
            "installer-paths": {
                "npm-asset-library": "_protected/vendor/npm",
                "bower-asset-library": "_protected/vendor/bower"
            }
        }
    },

并删除“额外”参数中的“资产安装程序路径”。

我找到了解决方案。

我通过编辑composer.json文件来更新yii2应用程序,然后在命令行上运行
composer update

然后,不知怎么的,它起了作用