Ahmed Amshir
Ahmed Amshir

Reputation: 51

Upgrade laravel project from 5.3 to 5.8

I'm working on a project and i'm trying to upgrade my current version of php 5.6 to 7.3, laravel 5.3 to 5.8 and backpack 0.7 to final version, then ran composer update but all I got was the error below:

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

This is composer.json requirement

"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",

Upvotes: 0

Views: 2490

Answers (1)

tabacitu
tabacitu

Reputation: 6193

When upgrading Laravel and/or Backpack, it's recommended that you don't jump versions. I've never tried to jump from L5.3 directly to 5.8, but I do not expect that to work.

Both Laravel and Backpack release upgrade guides with each version. That's because the upgrade process is not just changing a number in the composer.json file. It also involves some steps you need to do manually. Otherwise your app won't work. I know it's inconvenient, but it's the only possible way to upgrade code that you can customize.

My recommendation:

  1. Upgrade to Laravel 5.4 & Backpack 3.2
  2. Then upgrade to Laravel 5.5 & Backpack 3.3
  3. Then upgrade to Laravel 5.6 & Backpack 3.4
  4. Then upgrade to Laravel 5.7 & Backpack 3.5
  5. Then upgrade to Laravel 5.8 & Backpack 3.6

You can automate a good part of the Laravel upgrades using Laravel Shift. It's a paid service that makes pull requests to your Github/Gitlab/Bitbucket repo. You can't automate the Backpack upgrades, I'm afraid, but in most cases the steps will be clear and the changes small.

Hope it helps.

Upvotes: 1

Related Questions