尝试升级到Yii 2.0.15时出现Composer错误

时间:2018-06-09 20:51:50

标签: yii2 composer-php

我试图更新我的Yii,但收到此消息:

[alexandre@Mac-mini-de-Alexandre:gestao_web (master)] php composer.phar require "yiisoft/yii2:~2.0.15" --update-with-dependencies
./composer.json has been updated
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
- Installation request for yidas/yii2-composer-bower-skip (locked at 2.0.12, required as ~2.0.0) -> satisfiable by yidas/yii2-composer-bower-skip[2.0.12].
- yiisoft/yii2 2.0.15 requires bower-asset/inputmask ~3.2.2 | ~3.3.5 -> satisfiable by yidas/yii2-composer-bower-skip[2.0.13].
- yiisoft/yii2 2.0.15.1 requires bower-asset/inputmask ~3.2.2 | ~3.3.5 -> satisfiable by yidas/yii2-composer-bower-skip[2.0.13].
- Conclusion: don't install yidas/yii2-composer-bower-skip 2.0.13
- Installation request for yiisoft/yii2 ~2.0.15 -> satisfiable by yiisoft/yii2[2.0.15, 2.0.15.1].
Installation failed, reverting ./composer.json to its original content.
[alexandre@Mac-mini-de-Alexandre:gestao_web (master)] ./yii
This is Yii version 2.0.12.2.

这是我的composer.json

{
    "name": "yiisoft/yii2-app-basic",
    "description": "Yii 2 Basic Application Template",
    "keywords": ["yii2", "framework", "basic", "application template"],
    "homepage": "http://www.yiiframework.com/",
    "type": "project",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "minimum-stability": "stable",
    "require": {
        "php": ">=5.4.0",
        "yidas/yii2-composer-bower-skip": "~2.0.0",
        "yiisoft/yii2": ">=2.0.7",        
        "yiisoft/yii2-bootstrap": "*",
        "yiisoft/yii2-swiftmailer": "*",
        "2amigos/yii2-resource-manager-component": "*",
        "moonlandsoft/yii2-phpexcel": "*",
        "boundstate/yii2-mailgun": "*",
        "e96/yii2-mailgun-mailer": "*"
    },
    "require-dev": {
        "yiisoft/yii2-codeception": "*",
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*",
        "yiisoft/yii2-faker": "*"
    },
    "config": {
        "process-timeout": 1800
    },
    "scripts": {
        "post-create-project-cmd": [
            "yii\\composer\\Installer::postCreateProject"
        ]
    },
    "extra": {
        "yii\\composer\\Installer::postCreateProject": {
            "setPermission": [
                {
                    "runtime": "0777",
                    "web/assets": "0777",
                    "yii": "0755"
                }
            ],
            "generateCookieValidationKey": [
                "config/web.php"
            ]
        },
        "asset-installer-paths": {
            "npm-asset-library": "vendor/npm",
            "bower-asset-library": "vendor/bower"
        }
    }
}

我尝试过改变作曲家:

"yiisoft/yii2": ">=2.0.12"

但我有同样的错误。

有谁知道这个问题可能是什么?我该如何解决?

1 个答案:

答案 0 :(得分:1)

在这种情况下,您可能需要--update-with-all-dependencies开关:

php composer.phar require "yiisoft/yii2:~2.0.15" --update-with-all-dependencies
  

- update-with-dependencies :还更新新要求的软件包的依赖项,但root要求除外。
   - update-with-all-dependencies :还更新新所需包的依赖关系,包括那些根要求的包。

https://getcomposer.org/doc/03-cli.md#require

顺便说一句:您应该真正替换*中所有composer.json的真实约束 - 每次更新都可能会破坏您的应用。