The lock file is not up to date with the latest changes in composer.json
Asked Answered
R

4

21

I'm trying to clone a github repository and issue a composer install on it. But I am getting this:

Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.

Your requirements could not be resolved to an installable set of packages.  
  Problem 1  
    - Conclusion: remove symfony/polyfill-intl-icu v1.9.0  
    - Installation request for symfony/polyfill-intl-icu v1.9.0 -> satisfiable by symfony/polyfill-intl-icu[v1.9.0].  
    - Conclusion: remove symfony/process v3.4.15  
    - symfony/polyfill-intl-icu v1.9.0 requires symfony/intl ~2.3|~3.0|~4.0 -> satisfiable by symfony/symfony[v4.0.0].  
    - don't install symfony/process v3.4.15|remove symfony/symfony v4.0.0  
    - don't install symfony/symfony v4.0.0|don't install symfony/process v3.4.15  
    - Installation request for symfony/process v3.4.15 -> satisfiable by symfony/process[v3.4.15].  

When running composer update

Problem 1
- Conclusion: don't install symfony/symfony v4.1.7
- Conclusion: don't install symfony/symfony v4.1.6
- Conclusion: don't install symfony/symfony v4.1.5
- Conclusion: don't install symfony/symfony v4.1.4
- Conclusion: don't install symfony/symfony v4.1.3
- Conclusion: don't install symfony/symfony v4.1.2
- Conclusion: don't install symfony/symfony v4.1.1
- Conclusion: don't install symfony/symfony v4.1.0
- Conclusion: don't install symfony/symfony v4.0.14
- Conclusion: don't install symfony/symfony v4.0.13
- Conclusion: don't install symfony/symfony v4.0.12
- Conclusion: don't install symfony/symfony v4.0.11
- Conclusion: don't install symfony/symfony v4.0.10
- Conclusion: don't install symfony/symfony v4.0.9
- Conclusion: don't install symfony/symfony v4.0.8
- Conclusion: don't install symfony/symfony v4.0.7
- Conclusion: don't install symfony/symfony v4.0.6
- Conclusion: don't install symfony/symfony v4.0.5
- Conclusion: don't install symfony/symfony v4.0.4
- Conclusion: don't install symfony/symfony v4.0.3
- Conclusion: don't install symfony/symfony v4.0.2
- Conclusion: don't install symfony/symfony v4.0.1
- Conclusion: remove symfony/symfony v4.0.0
- don't install symfony/symfony v4.0.0|remove symfony/process v3.4.15
- don't install symfony/process v3.3.0|don't install symfony/symfony v4.0.0

composer.json (require section)

"require": {
    "php": ">=7.1",
    "symfony/symfony": "~4.0",
    "symfony/process": "^3.3",
    "doctrine/orm": "dev-fork as 2.5.6",
    "doctrine/doctrine-bundle": "1.*",
    "symfony/swiftmailer-bundle": "~3.1",
    "symfony/monolog-bundle": "~3.1",
    "sensio/framework-extra-bundle": "^5.1",
    "graylog2/gelf-php": "^1.4",
    "doctrine/doctrine-migrations-bundle": "^1.1",
    "awt/webauth-bundle": "3.0.*",
    "awt/canvas-client-bundle": "6.2.*"
}
Reasoning answered 14/11, 2018 at 0:59 Comment(7)
try composer updateOutfox
share the require sections of your composer.jsonIsotope
symfony/symfony includes symfony/process too. This leads to a conflict as a package cannot be installed in two versions. There was a bug in Composer that allowed this mistakenly in previous versions, but this bug was fixed in Composer 1.7.3. You now need to either remove the symfony/process dependency and stick with the Process component in version 3.4 or require all Symfony components explicitly if you need a newer version of the Process component (or update symfony/symfony to 4.1).Bort
@Trix edited to include the require sectionReasoning
@ImanaliMamadiev I did run composer update and get similar errorsReasoning
What's your php version? and Did try change php version in composer.json?Outfox
Trix's answer worked for me. I had exact same problem. mark her/his answer as accepted to help othersGillett
C
38

Run: composer update --lock to get your lock file in sync with your composer.json.

Cod answered 1/10, 2020 at 15:13 Comment(1)
When there is no conflict, this is the right thing to do.Lilalilac
I
5

You may use depends & prohibits on composer to see what exactly you should do:

composer depends symfony/process 3.4.15

and

composer prohibits symfony/symfony 4

This two commands tell you what is the conflict and what you should do.

The main problem is that your composer.json and composer.lock are not in sync. The first file tells composer what are required package & their version constraints, and the second one shares the exact same package version between collaborators, for consistency.

If the repository owner does not help you with this problem, the only way you have is:

rm composer.lock
rm -rf vendor
composer install

This will remove vendor directory contents and install a fressh copy of all dependencies, according to just composer.json

Isotope answered 14/11, 2018 at 17:37 Comment(0)
R
0

share your comooser.json file please , i think you should update it :

    "require": {
    "symfony/process": "3.4.*",
    "symfony/symfony": "3.4.*"
},

or

 "require": {
    "symfony/process": "4.1.*",
    "symfony/symfony": "4.1.*"
},
Recording answered 14/11, 2018 at 9:49 Comment(2)
Edited to include the require section of the composer.jsonReasoning
Please add some explanation to your answer. Why should changing some file content in composer.json solve the given warning?Utopian
R
-4

Solution was to download a previous version of composer (1.7.2) manually from the website and overwrite my 1.7.3 version.

Reasoning answered 15/11, 2018 at 16:59 Comment(1)
Conflicting composer.json & composer.lock files does not get solved by reinstalling other versions of composerIsotope

© 2022 - 2024 — McMap. All rights reserved.