Phpinsights: Cannot install phpinsights: Your requirements could not be resolved to an installable set of packages.

Created on 26 Aug 2020  路  3Comments  路  Source: nunomaduro/phpinsights

| Q | A
| ---------------- | -----
| Bug report? | yes
| Feature request? | no
| Library version | n/a

Composer version 1.10.10 2020-08-03 11:35:19
I ran into an issue installing phpinsights:

$ composer require nunomaduro/phpinsights --dev
Using version ^1.14 for nunomaduro/phpinsights
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Restricting packages listed in "symfony/symfony" to "5.1.*"
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - composer/composer 1.9.3 requires symfony/console ^2.7 || ^3.0 || ^4.0 -> no matching package found.
    - composer/composer 1.9.2 requires symfony/console ^2.7 || ^3.0 || ^4.0 -> no matching package found.
    - composer/composer 1.9.1 requires symfony/console ^2.7 || ^3.0 || ^4.0 -> no matching package found.
    - composer/composer 1.9.0 requires symfony/console ^2.7 || ^3.0 || ^4.0 -> no matching package found.
    - composer/composer 1.8.6 requires symfony/console ^2.7 || ^3.0 || ^4.0 -> no matching package found.
    - composer/composer 1.8.5 requires symfony/console ^2.7 || ^3.0 || ^4.0 -> no matching package found.
    - composer/composer 1.8.4 requires symfony/console ^2.7 || ^3.0 || ^4.0 -> no matching package found.
    - composer/composer 1.8.3 requires symfony/console ^2.7 || ^3.0 || ^4.0 -> no matching package found.
    - composer/composer 1.8.2 requires symfony/console ^2.7 || ^3.0 || ^4.0 -> no matching package found.
    - composer/composer 1.8.1 requires symfony/console ^2.7 || ^3.0 || ^4.0 -> no matching package found.
    - composer/composer 1.8.0 requires symfony/console ^2.7 || ^3.0 || ^4.0 -> no matching package found.
    - composer/composer 1.7.3 requires symfony/console ^2.7 || ^3.0 || ^4.0 -> no matching package found.
    - composer/composer 1.7.2 requires symfony/console ^2.7 || ^3.0 || ^4.0 -> no matching package found.
    - composer/composer 1.7.1 requires symfony/console ^2.7 || ^3.0 || ^4.0 -> no matching package found.
    - composer/composer 1.7.0 requires symfony/console ^2.7 || ^3.0 || ^4.0 -> no matching package found.
    - Installation request for nunomaduro/phpinsights ^1.14 -> satisfiable by nunomaduro/phpinsights[v1.14.0].
    - Conclusion: remove composer/semver 3.0.0
    - Conclusion: don't install composer/semver 3.0.0
    - nunomaduro/phpinsights v1.14.0 requires composer/composer ^1.7 -> satisfiable by composer/composer[1.10.0, 1.10.1, 1.10.10, 1.10.2, 1.10.3, 1.10.4, 1.10.5, 1.10.6, 1.10.7, 1.10.8, 1.10.9, 1.7.0, 1.7.1, 1.7.2, 1.7.3, 1.8.0, 1.8.1, 1.8.2, 1.8.3, 1.8.4, 1.8.5, 1.8.6, 1.9.0, 1.9.1, 1.9.2, 1.9.3].
    - composer/composer 1.10.0 requires composer/semver ^1.0 -> satisfiable by composer/semver[1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.4.1, 1.4.2, 1.5.0, 1.5.1].
    - composer/composer 1.10.1 requires composer/semver ^1.0 -> satisfiable by composer/semver[1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.4.1, 1.4.2, 1.5.0, 1.5.1].
    - composer/composer 1.10.10 requires composer/semver ^1.0 -> satisfiable by composer/semver[1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.4.1, 1.4.2, 1.5.0, 1.5.1].
    - composer/composer 1.10.2 requires composer/semver ^1.0 -> satisfiable by composer/semver[1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.4.1, 1.4.2, 1.5.0, 1.5.1].
    - composer/composer 1.10.3 requires composer/semver ^1.0 -> satisfiable by composer/semver[1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.4.1, 1.4.2, 1.5.0, 1.5.1].
    - composer/composer 1.10.4 requires composer/semver ^1.0 -> satisfiable by composer/semver[1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.4.1, 1.4.2, 1.5.0, 1.5.1].
    - composer/composer 1.10.5 requires composer/semver ^1.0 -> satisfiable by composer/semver[1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.4.1, 1.4.2, 1.5.0, 1.5.1].
    - composer/composer 1.10.6 requires composer/semver ^1.0 -> satisfiable by composer/semver[1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.4.1, 1.4.2, 1.5.0, 1.5.1].
    - composer/composer 1.10.7 requires composer/semver ^1.0 -> satisfiable by composer/semver[1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.4.1, 1.4.2, 1.5.0, 1.5.1].
    - composer/composer 1.10.8 requires composer/semver ^1.0 -> satisfiable by composer/semver[1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.4.1, 1.4.2, 1.5.0, 1.5.1].
    - composer/composer 1.10.9 requires composer/semver ^1.0 -> satisfiable by composer/semver[1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.4.1, 1.4.2, 1.5.0, 1.5.1].
    - Can only install one of: composer/semver[1.4.0, 3.0.0].
    - Can only install one of: composer/semver[1.4.1, 3.0.0].
    - Can only install one of: composer/semver[1.4.2, 3.0.0].
    - Can only install one of: composer/semver[1.5.0, 3.0.0].
    - Can only install one of: composer/semver[1.5.1, 3.0.0].
    - Can only install one of: composer/semver[1.0.0, 3.0.0].
    - Can only install one of: composer/semver[1.1.0, 3.0.0].
    - Can only install one of: composer/semver[1.2.0, 3.0.0].
    - Can only install one of: composer/semver[1.3.0, 3.0.0].
    - Installation request for composer/semver (locked at 3.0.0) -> satisfiable by composer/semver[3.0.0].

Potential causes:
 - A typo in the package name
 - The package is not available in a stable-enough version according to your minimum-stability setting
   see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
 - It's a private package and you forgot to add a custom repository to find it

Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.

Installation failed, reverting ./composer.json to its original content.

My composer.json:

{
    "type": "project",
    "require": {
        "php": "^7.1.3",
        "ext-ctype": "*",
        "ext-iconv": "*",
        "cron/cron-bundle": "^2.4",
        "debril/feed-io": "^4.5",
        "doctrine/annotations": "^1.10",
        "firebase/php-jwt": "^5.0",
        "fr05t1k/esia": "^2.1",
        "jsor/doctrine-postgis": "^1.7",
        "justinrainbow/json-schema": "^5.2",
        "liip/imagine-bundle": "^2.3",
        "phpoffice/phpspreadsheet": "^1.11",
        "sensio/framework-extra-bundle": "^5.4",
        "symfony/asset": "5.1.*",
        "symfony/config": "5.1.*",
        "symfony/console": "5.1.*",
        "symfony/dependency-injection": "5.1.*",
        "symfony/dotenv": "5.1.*",
        "symfony/expression-language": "5.1.*",
        "symfony/flex": "^1.3.1",
        "symfony/framework-bundle": "5.1.*",
        "symfony/http-client": "5.1.*",
        "symfony/http-kernel": "5.1.*",
        "symfony/monolog-bundle": "^3.1",
        "symfony/orm-pack": "*",
        "symfony/process": "5.1.*",
        "symfony/property-info": "5.1.*",
        "symfony/security-bundle": "5.1.*",
        "symfony/sendgrid-mailer": "5.1.*",
        "symfony/serializer-pack": "*",
        "symfony/swiftmailer-bundle": "^3.4",
        "symfony/translation": "5.1.*",
        "symfony/twig-bundle": "5.1.*",
        "symfony/validator": "5.1.*",
        "symfony/web-link": "5.1.*",
        "symfony/yaml": "5.1.*"
    },
    "require-dev": {
        "phpstan/phpstan": "^0.12.35",
        "phpstan/phpstan-doctrine": "^0.12.19",
        "psalm/plugin-symfony": "^1.4",
        "symfony/debug-pack": "*",
        "symfony/maker-bundle": "^1.0",
        "symfony/profiler-pack": "*",
        "symfony/test-pack": "*",
        "vimeo/psalm": "^3.14",
        "weirdan/doctrine-psalm-plugin": "^0.11.3"
    },
    "config": {
        "preferred-install": {
            "*": "dist"
        },
        "sort-packages": true
    },
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "App\\Tests\\": "tests/"
        }
    },
    "replace": {
        "paragonie/random_compat": "2.*",
        "symfony/polyfill-ctype": "*",
        "symfony/polyfill-iconv": "*",
        "symfony/polyfill-php71": "*",
        "symfony/polyfill-php70": "*",
        "symfony/polyfill-php56": "*"
    },
    "scripts": {
        "auto-scripts": {
            "cache:clear": "symfony-cmd",
            "assets:install %PUBLIC_DIR%": "symfony-cmd"
        },
        "post-install-cmd": [
            "@auto-scripts"
        ],
        "post-update-cmd": [
            "@auto-scripts"
        ]
    },
    "conflict": {
        "symfony/symfony": "*"
    },
    "extra": {
        "symfony": {
            "allow-contrib": "true",
            "require": "5.1.*"
        }
    }
}

Most helpful comment

I just looked this issue.

Regarding your composer.json, the conflict appears on composer/semver package.

It's required by vimeo/psalm, and as psalm has been installed first, it's installed at v3.*.

In phpinsights dependencies, we require composer/composer, which has a dependency to composer/semver in v1.*.

When Composer v2 will be released, which has a dependency to composer/semver in v3.*, it'll be okay, thanks to @50bhan in #433 .

But before, you have to fix composer/semver manually before require phpinsights.

Try the following

composer require --dev composer/semver:^1.0

Note : this shouldbe done only if any package require composer/semver in version higher to v1.*

Or you can try by before removing psalm and it's plugins, then requiring phpinsights, and rerequire psalm.

All 3 comments

@fluffycondor Thank you for reporting this issue. This problem is related to dependencies and I'll try to fix it.

I can confirm I cannot install this either.

I just looked this issue.

Regarding your composer.json, the conflict appears on composer/semver package.

It's required by vimeo/psalm, and as psalm has been installed first, it's installed at v3.*.

In phpinsights dependencies, we require composer/composer, which has a dependency to composer/semver in v1.*.

When Composer v2 will be released, which has a dependency to composer/semver in v3.*, it'll be okay, thanks to @50bhan in #433 .

But before, you have to fix composer/semver manually before require phpinsights.

Try the following

composer require --dev composer/semver:^1.0

Note : this shouldbe done only if any package require composer/semver in version higher to v1.*

Or you can try by before removing psalm and it's plugins, then requiring phpinsights, and rerequire psalm.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

JacekAndrzejewski picture JacekAndrzejewski  路  6Comments

Gummibeer picture Gummibeer  路  4Comments

danilocorrea87 picture danilocorrea87  路  4Comments

erwinw picture erwinw  路  6Comments

davi5e picture davi5e  路  4Comments