Обновите проект laravel с 5.3 до 5.8

Я работаю над проектом и пытаюсь обновить свою текущую версию php 5.6 до 7.3, laravel 5.3 до 5.8 и рюкзак 0.7 до финальной версии, затем запустил composer update, но все, что я получил, это ошибка ниже:

Problem 1:
    - Conclusion: don't install laravel/framework v5.8.19
    - Conclusion: don't install laravel/framework v5.8.18
    - Conclusion: don't install laravel/framework v5.8.17
    - Conclusion: don't install laravel/framework v5.8.16
    - Conclusion: don't install laravel/framework v5.8.15
    - Conclusion: don't install laravel/framework v5.8.14
    - Conclusion: don't install laravel/framework v5.8.13
    - Conclusion: don't install laravel/framework v5.8.12
    - Conclusion: don't install laravel/framework v5.8.11
    - Conclusion: don't install laravel/framework v5.8.10
    - Conclusion: don't install laravel/framework v5.8.9
    - Conclusion: don't install laravel/framework v5.8.8
    - Conclusion: don't install laravel/framework v5.8.7
    - Conclusion: don't install laravel/framework v5.8.6
    - Conclusion: don't install laravel/framework v5.8.5
    - Conclusion: don't install laravel/framework v5.8.4
    - Conclusion: don't install laravel/framework v5.8.3
    - Conclusion: don't install laravel/framework v5.8.2
    - Conclusion: don't install laravel/framework v5.8.1
    - laravelcollective/html v5.3.1 requires illuminate/view 5.3.* -> satisfiable by laravel/framework[v5.3.31], illuminate/view[v5.3.0, v5.3.16, v5.3.23, v5.3.4].
    - laravelcollective/html v5.3.1 requires illuminate/view 5.3.* -> satisfiable by laravel/framework[v5.3.31], illuminate/view[v5.3.0, v5.3.16, v5.3.23, v5.3.4].
    - Can only install one of: laravel/framework[v5.8.0, v5.3.31].
    - don't install illuminate/view v5.3.0|don't install laravel/framework v5.8.0
    - don't install illuminate/view v5.3.16|don't install laravel/framework v5.8.0
    - don't install illuminate/view v5.3.23|don't install laravel/framework v5.8.0
    - don't install illuminate/view v5.3.4|don't install laravel/framework v5.8.0
    - Installation request for laravel/framework 5.8.* -> satisfiable by laravel/framework[v5.8.0, v5.8.1, v5.8.10, v5.8.11, v5.8.12, v5.8.13, v5.8.14, v5.8.15, v5.8.16, v5.8.17, v5.8.18, v5.8.19, v5.8.2, v5.8.3, v5.8.4, v5.8.5, v5.8.6, v5.8.7, v5.8.8, v5.8.9].
    - Installation request for laravelcollective/html 5.3.1 -> satisfiable by laravelcollective/html[v5.3.1].

Это требование composer.json

"require": {
        "php": ">=7.3.1",
        "laravel/framework": "5.3.*",
        "laravelcollective/html": "5.3.1",
        "backpack/base": "^0.7.14",
        "backpack/crud": "^3.1",
        "backpack/permissionmanager": "^2.1",
        "backpack/langfilemanager": "^1.0",
        "mikehaertl/phpwkhtmltopdf": "2.2.1",
        "artisaninweb/laravel-soap": "0.3.0.7",

person Ahmed Amshir    schedule 03.06.2019    source источник
comment
Что ж, я успешно обновил один из моих старых проектов с 5.4 до 5.8, сделайте резервную копию композитора, json файла, затем удалите все пакеты, кроме "php": ">=7.3.1", "laravel/framework": "5.3.*",, затем измените, попробуйте обновить его с помощью 'laravel / framework: 5.8. *', Затем обновите композитор   -  person Vipertecpro    schedule 05.06.2019
comment
Спасибо за вашу помощь, я сделал это шаг за шагом, как показано ниже, потому что Laravel и Backpack выпускают руководства по обновлению для каждой версии.   -  person Ahmed Amshir    schedule 10.06.2019


Ответы (1)


При обновлении Laravel и / или Backpack не рекомендуется скачивать версии. Я никогда не пробовал сразу переходить с L5.3 на 5.8, но не ожидаю, что это сработает.

И Laravel, и Backpack выпускают руководства по обновлению для каждой версии. Это потому, что процесс обновления - это не просто изменение числа в файле composer.json. Он также включает в себя некоторые шаги, которые необходимо выполнить вручную. В противном случае ваше приложение не будет работать. Я знаю, что это неудобно, но это единственный способ обновить код, который можно настроить.

Моя рекомендация:

  1. Обновление до Laravel 5.4 и Backpack 3.2
  2. Затем обновитесь до Laravel 5.5 и Backpack 3.3
  3. Затем обновитесь до Laravel 5.6 и Backpack 3.4
  4. Затем обновитесь до Laravel 5.7 и Backpack 3.5.
  5. Затем обновитесь до Laravel 5.8 и Backpack 3.6

Вы можете автоматизировать значительную часть обновлений Laravel, используя Laravel Shift. Это платный сервис, который отправляет запросы на вытягивание к вашему репозиторию Github / Gitlab / Bitbucket. Боюсь, что вы не можете автоматизировать обновление рюкзака, но в большинстве случаев шаги будут ясными, а изменения небольшими.

Надеюсь, поможет.

person tabacitu    schedule 05.06.2019