Файл блокировки не соответствует последним изменениям в composer.json - PullRequest
0 голосов
/ 14 ноября 2018

Я пытаюсь клонировать репозиторий 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.*"
}

Ответы [ 3 ]

0 голосов
/ 14 ноября 2018

Вы можете использовать depends & 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

Это удалит содержимое каталога вендора и установит точную копию всех зависимостей, в соответствии с composer.json

0 голосов
/ 15 ноября 2018

Решением было загрузить вручную предыдущую версию composer (1.7.2) с веб-сайта и перезаписать мою версию 1.7.3.

0 голосов
/ 14 ноября 2018

поделитесь файлом comooser.json, пожалуйста, я думаю, вы должны обновить его:

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

или

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