-1

I'm updating Laravel from 6.18 to 8. Normally I would simply change the version in composer.json and run composer update.

There are a bunch of additional changes for 6.x to 7 so I'm trying to do this first (as I use the auth scaffolding that changed in 7 but isn't mentioned in the documentation for 8.x upgrades).

I change composer.json accordingly (also dropping some outdated other stuff) and run composer update, but this fails (changing directly to 8 fails too). Using composer update -w doesn't work either.

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": "^7.2.2",
        "ajthinking/tinx": "^2.1",
        "barryvdh/laravel-debugbar": "^3.2",
        "davejamesmiller/laravel-breadcrumbs": "^5.2",
        "doctrine/dbal": "^2.10",
        "dompdf/dompdf": "^0.8.5",
        "facade/ignition": "^1.16",
        "fico7489/laravel-pivot": "^3.0",
        "fideloper/proxy": "^4.0",
        "guzzlehttp/guzzle": "^6.5",
        "guzzlehttp/psr7": "^1.6",
        "jrean/laravel-user-verification": "^8.0",
        "kriswallsmith/buzz": "^1.1",
        "laravel/framework": "6.x",
        "laravel/helpers": "^1.1",
        "laravel/tinker": "^1.0",
        "laravelcollective/html": "^6.0",
        "maatwebsite/excel": "^3.1",
        "mailgun/mailgun-php": "^3.0",
        "nunomaduro/phpinsights": "^1.11",
        "nyholm/psr7": "^1.2",
        "php-http/guzzle6-adapter": "^2.0",
        "php-http/message": "^1.8",
        "predis/predis": "^1.1",
        "simplesoftwareio/simple-qrcode": "~2"
    },
    "require-dev": {
        "filp/whoops": "^2.0",
        "fzaninotto/faker": "^1.4",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^2.0",
        "phpunit/phpunit": "^7.0"
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "files": [
            "app/Http/helpers.php"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

to

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": "^7.2.2",
        "barryvdh/laravel-debugbar": "^3.2",
        "davejamesmiller/laravel-breadcrumbs": "^5.2",
        "doctrine/dbal": "^2.10",
        "dompdf/dompdf": "^0.8.5",
        "facade/ignition": "^2.0",
        "fico7489/laravel-pivot": "^3.0",
        "fideloper/proxy": "^4.0",
        "guzzlehttp/guzzle": "^6.5",
        "guzzlehttp/psr7": "^1.6",
        "kriswallsmith/buzz": "^1.1",
        "laravel/framework": "7.x",
        "laravel/helpers": "^1.1",
        "laravel/tinker": "^2.0",
        "laravelcollective/html": "^6.0",
        "maatwebsite/excel": "^3.1",
        "mailgun/mailgun-php": "^3.0",
        "nunomaduro/phpinsights": "^1.11",
        "nyholm/psr7": "^1.2",
        "php-http/guzzle6-adapter": "^2.0",
        "php-http/message": "^1.8",
        "predis/predis": "^1.1",
        "simplesoftwareio/simple-qrcode": "~2"
    },
    "require-dev": {
        "filp/whoops": "^2.0",
        "fzaninotto/faker": "^1.4",
        "mockery/mockery": "^1.0",
        "nunomaduro/collision": "^4.1",
        "phpunit/phpunit": "^8.5"
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "files": [
            "app/Http/helpers.php"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

But this is failing (Laravel isn't updated)

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

  Problem 1
    - Conclusion: don't install one of phploc/phploc[5.0.0], symfony/console[v5.0.0-BETA1] | install one of symfony/console[v4.1.12, ..., v4.4.30] (conflict analysis result)
    - Conclusion: don't install facade/ignition 2.10.0 (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.3.0-BETA1] | install one of symfony/console[v4.4.3, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.3 (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.4 (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.0.0-BETA1] | install one of symfony/console[v4.4.5, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[5.4.x-dev] | install one of symfony/console[v4.4.5, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[5.3.x-dev] | install one of symfony/console[v4.4.5, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[5.1.x-dev] | install one of symfony/console[v4.4.5, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[5.0.x-dev] | install one of symfony/console[v4.4.5, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.5 (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.3.0-BETA2] | install one of symfony/console[v4.4.6, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.2.0-BETA3] | install one of symfony/console[v4.4.6, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.2.0-BETA2] | install one of symfony/console[v4.4.6, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.2.0-BETA1] | install one of symfony/console[v4.4.6, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.1.0-BETA1] | install one of symfony/console[v4.4.6, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.0.0-BETA2] | install one of symfony/console[v4.4.6, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[v4.4.6] | install one of laravel/framework[v7.30.2, v7.30.3], symfony/console[v5.0.0-RC1, ..., v5.3.0-RC1] (conflict analysis result)
    - Conclusion: don't install laravel/framework v7.30.2 (conflict analysis result)
    - Conclusion: don't install facade/ignition 2.10.1 (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.1.0-RC1] | install one of symfony/console[v4.4.7, ..., v4.4.15] (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.7 (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.3.0-BETA3] | install one of symfony/console[v4.4.8, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.3.0-BETA4] | install one of symfony/console[v4.4.8, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.0.0-RC1] | install one of symfony/console[v4.4.8, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[v4.4.8] | install one of laravel/framework[v7.30.3], symfony/console[v5.0.0, ..., v5.3.0-RC1] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.2.0-RC2] | install one of symfony/console[v4.4.9, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.1.0-RC2] | install one of symfony/console[v4.4.9, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[v4.4.10] | install one of laravel/framework[v7.30.3], symfony/console[v5.0.0, ..., v5.3.0-RC1] (conflict analysis result)
    - Conclusion: don't install symfony/console[v4.4.9] | install one of laravel/framework[v7.30.3], symfony/console[v5.0.0, ..., v5.3.0-RC1] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.0.2] | install one of symfony/console[v4.4.11, ..., v4.4.29] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.2.0-RC1] | install one of symfony/console[v4.4.11, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.0.3] | install one of symfony/console[v4.4.11, ..., v4.4.29] (conflict analysis result)
    - Conclusion: don't install symfony/console[v4.4.11] | install one of laravel/framework[v7.30.3], symfony/console[v5.0.0, ..., v5.3.0-RC1] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.0.0] | install one of symfony/console[v4.4.12, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.0.1] | install one of symfony/console[v4.4.12, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.3.0-RC1] | install one of symfony/console[v4.4.12, ..., v4.4.17] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.0.4] | install one of symfony/console[v4.4.12, ..., v4.4.16] (conflict analysis result)
    - Conclusion: don't install symfony/console[v4.4.13] | install one of laravel/framework[v7.30.3], symfony/console[v5.0.5, ..., v5.1.0] (conflict analysis result)
    - Conclusion: don't install symfony/console[v4.4.12] | install one of laravel/framework[v7.30.3], symfony/console[v5.0.5, ..., v5.1.0] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.0.6] | install one of symfony/console[v4.4.14, ..., v4.4.30] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.0.7] | install one of symfony/console[v4.4.14, ..., v4.4.30] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.0.8] | install one of symfony/console[v4.4.14, ..., v4.4.30] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.0.5] | install one of symfony/console[v4.4.14, v4.4.15, v4.4.16] (conflict analysis result)
    - Conclusion: don't install symfony/console[v4.4.14] | install one of laravel/framework[v7.30.3], symfony/console[v5.0.9, v5.0.10, v5.0.11, v5.1.0] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.0.9] | install one of symfony/console[v4.4.15, v4.4.16] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.0.10] | install one of symfony/console[v4.4.15, v4.4.16] (conflict analysis result)
    - Conclusion: don't install symfony/console[v4.4.15] | install one of laravel/framework[v7.30.3], symfony/console[v5.0.11] (conflict analysis result)
    - Conclusion: don't install laravel/framework v7.30.3 (conflict analysis result)
    - Conclusion: don't install facade/ignition 2.10.2 (conflict analysis result)
    - Conclusion: don't install facade/ignition 2.11.0 (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.0.11] | install symfony/console[v4.4.16] (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.16 (conflict analysis result)
    - Conclusion: don't install facade/ignition 2.11.1 (conflict analysis result)
    - Conclusion: don't install facade/ignition 2.11.2 (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.17 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.1.0 (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.1.2] | install one of symfony/console[v4.4.18, ..., v4.4.29] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.1.3] | install one of symfony/console[v4.4.18, ..., v4.4.30] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.1.1] | install one of symfony/console[v4.4.18, ..., v4.4.29] (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.18 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.1.4 (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.19 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.1.5 (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.20 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.1.6 (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.21 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.1.7 (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.1.10] | install one of symfony/console[v4.4.22, ..., v4.4.30] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.1.11] | install one of symfony/console[v4.4.22, ..., v4.4.30] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.1.9] | install one of symfony/console[v4.4.22, ..., v4.4.29] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.1.8] | install one of symfony/console[v4.4.22, ..., v4.4.29] (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.22 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.2.0 (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.23 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.2.1 (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.24 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.2.2 (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.25 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.2.3 (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.2.6] | install one of symfony/console[v4.4.26, v4.4.27, v4.4.29, v4.4.30] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.2.7] | install one of symfony/console[v4.4.26, v4.4.27, v4.4.29, v4.4.30] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.2.5] | install one of symfony/console[v4.4.26, v4.4.27, v4.4.29] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.2.4] | install one of symfony/console[v4.4.26, v4.4.27, v4.4.29] (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.26 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.2.8 (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.27 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.2.10 (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.29 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.2.11 (conflict analysis result)
    - Conclusion: don't install facade/ignition 2.11.3 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.2.12 (conflict analysis result)
    - Conclusion: don't install facade/ignition 2.11.4 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.2.14 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.3.0 (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.3.4] | install symfony/console[v4.4.30] (conflict analysis result)
    - Conclusion: don't install symfony/console[v5.3.2] | install symfony/console[v4.4.30] (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.30 (conflict analysis result)
    - Conclusion: don't install facade/ignition 2.12.0 (conflict analysis result)
    - Conclusion: don't install symfony/console v5.3.6 (conflict analysis result)
    - Conclusion: don't install one of phploc/phploc[5.0.0], symfony/console[v5.3.7] (conflict analysis result)
    - Conclusion: don't install sebastian/version[2.0.1] | install phploc/phploc[5.0.0] (conflict analysis result)
    - Conclusion: install sebastian/version 2.0.1 (conflict analysis result)
    - Conclusion: don't install one of phploc/phploc[5.0.0], symfony/console[v5.2.4] | install one of symfony/console[v4.4.18, ..., v4.4.30] (conflict analysis result)
    - Conclusion: don't install symfony/console v4.4.2 (conflict analysis result)
    - Conclusion: don't install one of phploc/phploc[5.0.0], symfony/console[v5.2.5] | install one of symfony/console[v4.4.18, ..., v4.4.30] (conflict analysis result)
    - Conclusion: don't install one of phploc/phploc[5.0.0], symfony/console[v5.1.0-BETA1] | install one of symfony/console[v4.2.0, ..., v4.4.30] (conflict analysis result)
    - Conclusion: don't install one of phploc/phploc[5.0.0], symfony/console[v5.0.0-BETA2] | install one of symfony/console[v4.1.12, ..., v4.4.30] (conflict analysis result)
    - Root composer.json requires laravel/framework 7.x -> satisfiable by laravel/framework[v7.0.0, ..., 7.x-dev].
    - Root composer.json requires phpunit/phpunit ^8.5 -> satisfiable by phpunit/phpunit[8.5.0, ..., 8.5.x-dev].
    - Root composer.json requires nunomaduro/phpinsights ^1.11 -> satisfiable by nunomaduro/phpinsights[v1.11.0, ..., v1.x-dev].
    - facade/ignition[2.0.0, ..., 2.9.1] require symfony/console ^5.0 -> satisfiable by symfony/console[v5.0.0-BETA1, ..., 5.4.x-dev].
    - Conclusion: don't install symfony/console[5.2.x-dev] | install one of symfony/console[v4.4.2, ..., v4.4.17] (conflict analysis result)
    - Root composer.json requires facade/ignition ^2.0 -> satisfiable by facade/ignition[2.0.0, ..., 2.12.0].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

I have trouble reading what the problem exactly is and have no idea how to solve this (especially since I'm following the steps as laid out by the Laravel update documentation).

I've read about some similar-ish update problems because of different required package versions of symphony/console required by phploc and the require-dev packages? I don't know, nor even how to solve that if it was the case.

Update: Trying to solve the problem with phploc/phploc, i tried composer update phploc/phploc "6.0.0" -w.

This gives the following error:

Loading composer repositories with package information
Package "6.0.0" listed for update is not locked.
Dependency "laravel/framework" is also a root requirement. Package has not been listed as an update argument, so keeping locked at old version. Use --with-all-dependencies (-W) to include root dependencies.
Dependency "phpunit/phpunit" is also a root requirement. Package has not been listed as an update argument, so keeping locked at old version. Use --with-all-dependencies (-W) to include root dependencies.
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires facade/ignition ^2.0, found facade/ignition[2.0.0, ..., 2.12.0] but the package is fixed to 1.18.0 (lock file version) by a partial update and that version does not
match. Make sure you list it as an argument for the update command.
  Problem 2
    - Root composer.json requires laravel/framework 7.x, found laravel/framework[v7.0.0, ..., 7.x-dev] but the package is fixed to v6.20.33 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
  Problem 3
    - Root composer.json requires laravel/tinker ^2.0, found laravel/tinker[v2.0.0, ..., 2.x-dev] but the package is fixed to v1.0.10 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
  Problem 4
    - laravel/ui[v2.0.0, ..., 2.x-dev] require illuminate/console ^7.0 -> found illuminate/console[v7.0.0, ..., 7.x-dev] but these were not loaded, likely because it conflicts with another require.
    - laravel/ui[v2.2.0, ..., v2.3.0] require illuminate/console ^7.0|^8.0 -> found illuminate/console[v7.0.0, ..., 7.x-dev, v8.0.0, ..., 8.x-dev] but these were not loaded, likely because it conflicts with another require.
    - Root composer.json requires laravel/ui ^2.0 -> satisfiable by laravel/ui[v2.0.0, ..., 2.x-dev].

Use the option --with-all-dependencies (-W) to allow upgrades, downgrades and removals for packages currently locked to specific versions.

Tried composer require phploc/phploc, and update, both with and without -w All result pretty much in the following:

 Problem 1
    - nunomaduro/phpinsights is locked to version v1.13.0 and an update of this package was not requested.
    - nunomaduro/phpinsights v1.13.0 requires phploc/phploc ^5.0 -> found phploc/phploc[5.0.0] but it conflicts with your root composer.json require (^7.0).
  Problem 2
    - phploc/phploc 7.0.x-dev is an alias of phploc/phploc dev-master and thus requires it to be installed too.
    - phploc/phploc[dev-master, 7.0.0, ..., 7.0.2] require sebastian/version ^3.0 -> satisfiable by sebastian/version[3.0.0, 3.0.1, 3.0.2].
    - You can only install one version of a package, so only one of these can be installed: sebastian/version[2.0.1, 3.0.0, 3.0.1, 3.0.2].
    - phpunit/phpunit 7.5.20 requires sebastian/version ^2.0.1 -> satisfiable by sebastian/version[2.0.1].
    - phpunit/phpunit is locked to version 7.5.20 and an update of this package was not requested.
    - Root composer.json requires phploc/phploc ^7.0 -> satisfiable by phploc/phploc[7.0.0, 7.0.1, 7.0.2, 7.0.x-dev (alias of dev-master)].
  • 1
    Does this answer your question? [How to explain Composer's error log?](https://stackoverflow.com/questions/48073506/how-to-explain-composers-error-log) – yivi Sep 03 '21 at 08:27
  • Sadly, as I rarely deal with composer, I find it very difficult to solve these kind of problems. I don't know what to do with a sentence like 'So, what I did was I removed all dependencies, then added them back one by one,'. A problem is that what seems to be the culprit, phploc/phploc isn't even among the list of packages in composer.json – Stroomschok Sep 03 '21 at 10:01

1 Answers1

-1

phploc/phploc is required in v5, which requires symfony/console in v4. Laravel v7 requires Symfony v5.


Solution: update phploc/phploc to at least v6. As this is not listed in your composer.json, maybe as part of "removing outdated stuff": did you use it before? How did you remove it? By simply removing it from your composer.json without using composer remove phploc/phploc?

It could help to rollback all changes in your composer.json, remove what you want to remove package by package and call composer update $packagename after each single removal

Nico Haase
  • 11,420
  • 35
  • 43
  • 69
  • I didn't remove phploc, but two old packages that are not part of Laravel. I can't update phploc individually as apparently it's versionlocked by parts of laravel like facade/ignition, framework and tinker v2.0 – Stroomschok Sep 03 '21 at 09:40
  • 1
    What does `composer why-not phploc/phploc 6.0.0` yield? None of these packages show a direct dependency on phploc – Nico Haase Sep 03 '21 at 09:58
  • hploc/phploc 5.0.0 A tool for quickly measuring the size of a PHP project. `--nunomaduro/phpinsights v1.14.1 (requires phploc/phploc ^5.0|^6.0) `--laravel/laravel dev-master (requires nunomaduro/phpinsights ^1.11) – Stroomschok Sep 03 '21 at 10:03
  • 1
    `nunomaduro/phpinsights` is able to use v6 of phploc. What have you tried to update that package? – Nico Haase Sep 03 '21 at 10:10
  • composer update phploc/phploc "6.0.0" -w gives problems (adding the results to the OP above) – Stroomschok Sep 03 '21 at 10:12
  • You need to do this on a `composer.json` that does not contain any other version changes yet – Nico Haase Sep 03 '21 at 10:59
  • Ok I added phploc/phploc "6.0.0" to the 'require' list of the composer.lock, but this gives the following problem: ` Problem 1 - Root composer.json requires phploc/phploc 6.0.0 -> satisfiable by phploc/phploc[6.0.0]. - phpunit/phpunit[7.0.0, ..., 7.5.20] require sebastian/version ^2.0.1 -> satisfiable by sebastian/version[2.0.1]. - Conclusion: don't install sebastian/version 2.0.1 (conflict analysis result) - Root composer.json requires phpunit/phpunit ^7.0 -> satisfiable by phpunit/phpunit[7.0.0, ..., 7.5.20].` – Stroomschok Sep 03 '21 at 11:42
  • That looks completely unrelated to me. Also, what **exactly** did you do? You should never edit `composer.lock` by hand. Did you **really** start this on a fresh version of `composer.json` and `composer.lock` without any other changes? – Nico Haase Sep 03 '21 at 11:58
  • Oh sorry, I meant composer.json and I made the change to a version that was from before I tried to update laravel. And that didnt'work. Was it supposed to be a completely empty file instead? (and I guess that involves also deleting, composer.lock and the vendor folder). – Stroomschok Sep 03 '21 at 12:37
  • No, not empty. You should start from the latest working version of `composer.json` and `composer.lock` - sorry, that was what I meant by "fresh" – Nico Haase Sep 03 '21 at 12:42
  • Yes, that's what I did for the message just before. Last working composer.json (the first one mentioned in the OP), then added the phploc 6 to the required. But that then gave the problem as I mentioned (and I don't really understand what it's saying). Would it help if I just delete both composer.json, composer.lock and vendor folder and just install laravel 8.0 from scratch, or would that toss out important data/keys? – Stroomschok Sep 03 '21 at 13:11
  • Please try **updating** that single package, like `composer update phploc/phploc` (no requiring, no version number, no manual editing of any file) – Nico Haase Sep 03 '21 at 13:22
  • Then try to update the other one as well, like `composer update phploc/phploc nunomaduro/phpinsights` – Nico Haase Sep 03 '21 at 16:07