锁定文件不是最新的composer.json

时间:2018-11-14 00:59:48

标签: symfony composer-php symfony4 symfony-process composer.json

我正在尝试克隆github存储库并在其上发出composer install。但是我得到了:

  

警告:锁文件不是最新的composer.json更改。您可能会过时的依赖关系。运行更新以更新它们。

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].  

运行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": {
    "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.*"
}

4 个答案:

答案 0 :(得分:0)

请共享您的comooser.json文件,我认为您应该更新它:

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

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

答案 1 :(得分:0)

您可以在作曲家上使用ReferenceLoopHandlingdepends来查看您应该做什么:

prohibits

composer depends symfony/process 3.4.15

这两个命令告诉您什么是冲突以及应该做什么。

主要问题是您的composer prohibits symfony/symfony 4 composer.json不同步。第一个文件告诉作曲者所需的软件包及其版本限制,而第二个文件则在协作者之间共享完全相同的软件包版本,以确保一致性。

如果存储库所有者不能帮助您解决此问题,则唯一的方法是:

composer.lock

根据rm composer.lock rm -rf vendor composer install

,这将删除供应商目录的内容并安装所有依赖项的最新副本。

答案 2 :(得分:0)

运行:composer update --lock使您的锁定文件与您的 composer.json 保持同步。

答案 3 :(得分:-1)

解决方案是从网站上手动下载Composer的早期版本(1.7.2)并覆盖我的1.7.3版本。