Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Laravel 7 support #368

Closed
leasophiiie opened this issue Mar 3, 2020 · 8 comments
Closed

Laravel 7 support #368

leasophiiie opened this issue Mar 3, 2020 · 8 comments

Comments

@leasophiiie
Copy link

Q A
Bug report? no
Feature request? yes
Library version 1.13.0

I would like to know, what about the support for Laravel 7? @nunomaduro @Jibbarth @olivernybroe

@nunomaduro
Copy link
Owner

@leasophiiie Why you say that there is no support?

@leasophiiie
Copy link
Author

Because of this

  Problem 1
    - nunomaduro/phpinsights v1.13.0 requires phploc/phploc ^5.0 -> satisfiable by phploc/phploc[5.0.0].
    - Installation request for nunomaduro/phpinsights ^1.13 -> satisfiable by nunomaduro/phpinsights[v1.13.0].
    - Conclusion: remove symfony/console v5.0.5
    - Conclusion: don't install symfony/console v5.0.5
    - phploc/phploc 5.0.0 requires symfony/console ^4.0 -> satisfiable by symfony/console[4.0.x-dev, 4.1.x-dev, 4.2.x-dev, 4.3.x-dev, 4.4.x-dev, v4.0.0, v4.0.0-BETA1, v4.0.0-BETA2, v4.0.0-BETA3, v4.0.0-BETA4, v4.0.0-RC1, v4.0.0-RC2, v4.0.1, v4.0.10, v4.0.11, v4.0.12, v4.0.13, v4.0.14, v4.0.15, v4.0.2, v4.0.3, v4.0.4, v4.0.5, v4.0.6, v4.0.7, v4.0.8, v4.0.9, v4.1.0, v4.1.0-BETA1, v4.1.0-BETA2, v4.1.0-BETA3, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.2.0, v4.2.0-BETA1, v4.2.0-BETA2, v4.2.0-RC1, v4.2.1, v4.2.10, v4.2.11, v4.2.12, v4.2.2, v4.2.3, v4.2.4, v4.2.5, v4.2.6, v4.2.7, v4.2.8, v4.2.9, v4.3.0, v4.3.0-BETA1, v4.3.0-BETA2, v4.3.0-RC1, v4.3.1, v4.3.10, v4.3.11, v4.3.2, v4.3.3, v4.3.4, v4.3.5, v4.3.6, v4.3.7, v4.3.8, v4.3.9, v4.4.0, v4.4.0-BETA1, v4.4.0-BETA2, v4.4.0-RC1, v4.4.1, v4.4.2, v4.4.3, v4.4.4, v4.4.5].
    - Can only install one of: symfony/console[4.0.x-dev, v5.0.5].
    - Can only install one of: symfony/console[4.1.x-dev, v5.0.5].
    - Can only install one of: symfony/console[4.2.x-dev, v5.0.5].
    - Can only install one of: symfony/console[4.3.x-dev, v5.0.5].
    - Can only install one of: symfony/console[4.4.x-dev, v5.0.5].
    - Can only install one of: symfony/console[v4.0.0, v5.0.5].
    - Can only install one of: symfony/console[v4.0.0-BETA1, v5.0.5].
    - Can only install one of: symfony/console[v4.0.0-BETA2, v5.0.5].
    - Can only install one of: symfony/console[v4.0.0-BETA3, v5.0.5].
    - Can only install one of: symfony/console[v4.0.0-BETA4, v5.0.5].
    - Can only install one of: symfony/console[v4.0.0-RC1, v5.0.5].
    - Can only install one of: symfony/console[v4.0.0-RC2, v5.0.5].
    - Can only install one of: symfony/console[v4.0.1, v5.0.5].
    - Can only install one of: symfony/console[v4.0.10, v5.0.5].
    - Can only install one of: symfony/console[v4.0.11, v5.0.5].
    - Can only install one of: symfony/console[v4.0.12, v5.0.5].
    - Can only install one of: symfony/console[v4.0.13, v5.0.5].
    - Can only install one of: symfony/console[v4.0.14, v5.0.5].
    - Can only install one of: symfony/console[v4.0.15, v5.0.5].
    - Can only install one of: symfony/console[v4.0.2, v5.0.5].
    - Can only install one of: symfony/console[v4.0.3, v5.0.5].
    - Can only install one of: symfony/console[v4.0.4, v5.0.5].
    - Can only install one of: symfony/console[v4.0.5, v5.0.5].
    - Can only install one of: symfony/console[v4.0.6, v5.0.5].
    - Can only install one of: symfony/console[v4.0.7, v5.0.5].
    - Can only install one of: symfony/console[v4.0.8, v5.0.5].
    - Can only install one of: symfony/console[v4.0.9, v5.0.5].
    - Can only install one of: symfony/console[v4.1.0, v5.0.5].
    - Can only install one of: symfony/console[v4.1.0-BETA1, v5.0.5].
    - Can only install one of: symfony/console[v4.1.0-BETA2, v5.0.5].
    - Can only install one of: symfony/console[v4.1.0-BETA3, v5.0.5].
    - Can only install one of: symfony/console[v4.1.1, v5.0.5].
    - Can only install one of: symfony/console[v4.1.10, v5.0.5].
    - Can only install one of: symfony/console[v4.1.11, v5.0.5].
    - Can only install one of: symfony/console[v4.1.12, v5.0.5].
    - Can only install one of: symfony/console[v4.1.2, v5.0.5].
    - Can only install one of: symfony/console[v4.1.3, v5.0.5].
    - Can only install one of: symfony/console[v4.1.4, v5.0.5].
    - Can only install one of: symfony/console[v4.1.5, v5.0.5].
    - Can only install one of: symfony/console[v4.1.6, v5.0.5].
    - Can only install one of: symfony/console[v4.1.7, v5.0.5].
    - Can only install one of: symfony/console[v4.1.8, v5.0.5].
    - Can only install one of: symfony/console[v4.1.9, v5.0.5].
    - Can only install one of: symfony/console[v4.2.0, v5.0.5].
    - Can only install one of: symfony/console[v4.2.0-BETA1, v5.0.5].
    - Can only install one of: symfony/console[v4.2.0-BETA2, v5.0.5].
    - Can only install one of: symfony/console[v4.2.0-RC1, v5.0.5].
    - Can only install one of: symfony/console[v4.2.1, v5.0.5].
    - Can only install one of: symfony/console[v4.2.10, v5.0.5].
    - Can only install one of: symfony/console[v4.2.11, v5.0.5].
    - Can only install one of: symfony/console[v4.2.12, v5.0.5].
    - Can only install one of: symfony/console[v4.2.2, v5.0.5].
    - Can only install one of: symfony/console[v4.2.3, v5.0.5].
    - Can only install one of: symfony/console[v4.2.4, v5.0.5].
    - Can only install one of: symfony/console[v4.2.5, v5.0.5].
    - Can only install one of: symfony/console[v4.2.6, v5.0.5].
    - Can only install one of: symfony/console[v4.2.7, v5.0.5].
    - Can only install one of: symfony/console[v4.2.8, v5.0.5].
    - Can only install one of: symfony/console[v4.2.9, v5.0.5].
    - Can only install one of: symfony/console[v4.3.0, v5.0.5].
    - Can only install one of: symfony/console[v4.3.0-BETA1, v5.0.5].
    - Can only install one of: symfony/console[v4.3.0-BETA2, v5.0.5].
    - Can only install one of: symfony/console[v4.3.0-RC1, v5.0.5].
    - Can only install one of: symfony/console[v4.3.1, v5.0.5].
    - Can only install one of: symfony/console[v4.3.10, v5.0.5].
    - Can only install one of: symfony/console[v4.3.11, v5.0.5].
    - Can only install one of: symfony/console[v4.3.2, v5.0.5].
    - Can only install one of: symfony/console[v4.3.3, v5.0.5].
    - Can only install one of: symfony/console[v4.3.4, v5.0.5].
    - Can only install one of: symfony/console[v4.3.5, v5.0.5].
    - Can only install one of: symfony/console[v4.3.6, v5.0.5].
    - Can only install one of: symfony/console[v4.3.7, v5.0.5].
    - Can only install one of: symfony/console[v4.3.8, v5.0.5].
    - Can only install one of: symfony/console[v4.3.9, v5.0.5].
    - Can only install one of: symfony/console[v4.4.0, v5.0.5].
    - Can only install one of: symfony/console[v4.4.0-BETA1, v5.0.5].
    - Can only install one of: symfony/console[v4.4.0-BETA2, v5.0.5].
    - Can only install one of: symfony/console[v4.4.0-RC1, v5.0.5].
    - Can only install one of: symfony/console[v4.4.1, v5.0.5].
    - Can only install one of: symfony/console[v4.4.2, v5.0.5].
    - Can only install one of: symfony/console[v4.4.3, v5.0.5].
    - Can only install one of: symfony/console[v4.4.4, v5.0.5].
    - Can only install one of: symfony/console[v4.4.5, v5.0.5].
    - Installation request for symfony/console (locked at v5.0.5) -> satisfiable by symfony/console[v5.0.5].

@owenvoke
Copy link
Contributor

owenvoke commented Mar 3, 2020

Yeah, looks like phploc/phploc needs to be bumped to include v6.x 🤔 However, v6.x dropped support for PHP 7.2, so I guess it would need to be ^5.0|^6.0 however, that would mean that anyone on Laravel 7 would have to use PHP 7.3 or later.

@Jibbarth
Copy link
Collaborator

Jibbarth commented Mar 4, 2020

On a fresh install of laravel7 (ie composer create-project --prefer-dist laravel/laravel blog) we have the same behaviour, with dev-master on php 73 or 74 😞


  Problem 1
    - Installation request for symfony/console (locked at v5.0.5) -> satisfiable by symfony/console[v5.0.5].
    - Conclusion: don't install phploc/phploc 5.0.0
    - Installation request for nunomaduro/phpinsights dev-master -> satisfiable by nunomaduro/phpinsights[dev-master].
    - Conclusion: don't install sebastian/version 2.0.1|install phploc/phploc 5.0.0
    - Conclusion: remove sebastian/version 2.0.1|install phploc/phploc 5.0.0
    - nunomaduro/phpinsights dev-master requires phploc/phploc ^5.0|^6.0 -> satisfiable by phploc/phploc[5.0.0, 6.0.0, 6.0.1, 6.0.2, 6.0.x-dev].
    - phploc/phploc 6.0.0 requires sebastian/version ^3.0 -> satisfiable by sebastian/version[3.0.0, 3.0.x-dev].
    - phploc/phploc 6.0.1 requires sebastian/version ^3.0 -> satisfiable by sebastian/version[3.0.0, 3.0.x-dev].
    - phploc/phploc 6.0.2 requires sebastian/version ^3.0 -> satisfiable by sebastian/version[3.0.0, 3.0.x-dev].
    - phploc/phploc 6.0.x-dev requires sebastian/version ^3.0 -> satisfiable by sebastian/version[3.0.0, 3.0.x-dev].
    - Can only install one of: sebastian/version[3.0.0, 2.0.1].
    - Can only install one of: sebastian/version[3.0.x-dev, 2.0.1].
    - Installation request for sebastian/version (locked at 2.0.1) -> satisfiable by sebastian/version[2.0.1].

To fix

First, upgrade phpunit to v9.0:

composer require --dev phpunit/phpunit:^9.0 --update-with-dependencies

Then, you can install phpinsights:

composer require --dev nunomaduro/phpinsights:dev-master

For Symfony5 users

Unlike laravel, symfony/skeleton or symfony/website-skeleton came with a minimum-stability to stable.

To allow install all dependencies on SF5, you should allow a RC minimum-stability:

composer config minimum-stability RC

Then you can install phpinsights.

Note: When composer 1.10.0 will be released, the minimum stability can be reset to stable

@olivernybroe
Copy link
Collaborator

@Jibbarth auch, that's not the most user friendly way. Maybe we should look into if we can drop composer dependency?

@Jibbarth
Copy link
Collaborator

Jibbarth commented Mar 5, 2020

@olivernybroe I already tried to rewrite the validate part of ComposerMustBeValid but it's a huge feature 😞

Maybe, as it was proposed on your PHPStan PR, we could parse the result of composer validate command and create Details with the results.

For the ComposerLockMustBeFresh, I think it's easier to recode, because it's based on a hash (don't remember which type) of the composer.json writed in composer.lock.

But drop composer dependency will not fix the conflict in laravel7 between phpunit:8.5 dependencies and phploc:6.0 dependencies (ie sebastian/version 🙁 )

@shrink
Copy link
Contributor

shrink commented Mar 6, 2020

When will this be released -- so that we don't need to use dev-master? Thanks! :-)

@garrettgjb
Copy link

@shrink #375

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants