Laravel 9 -> 10 using shift
I have not tested everything thorooughly but as far as I can tell the update worked okay. I used this tutorial and just skipped over all of her testing sections because I don't have dusk installed and I didn't wanna mess with that.
https://www.youtube.com/watch?v=YvxfB0U8A98
It cost me $19 USD but I am very new to PHP/Laravel in general and a lot of people say the cost is worth the benefit, so I did it and it was more than worth it for me. I'm sure it saved me hours of hassle.
I only had a couple of issues, and it might be the same issues that others might face so in case anyone can benefit from my frustration, this is what I had to do.
I followed the video, let shift do what it needed to do. In my terminal I switched over to the new shift branch that it created using this, and you'll just update the shift branch with the one it creates for you.
git checkout shift-XXXXX
Maybe if I had done things in a different order this might not be necessary, but I had to delete my composer.lock
file to properly get some things to update.
I had to open composer.json
and change
"nunomaduro/collision": "^7.0",
to
"nunomaduro/collision": "6.4.0|^7.0",
This code above was under the 'require-dev' section of composer.json
, but I was getting a lot of errors so I actually copied that same code to the 'require' section as well. I have no idea if this is necessary, because I did them at the same time and then it work, so if you update the line in require-dev and it still does not work, try copying it to the section labeled 'require'.
After this I was able to update composer, but I had to do an ignore redis-ext argument because that was also causing an error, and another post on devdjojo I found that this is not required for Wave, so I just ignored it and updated composer and then it successfully updated.
composer update --ignore-platform-req=ext-redis
I then just committed my changes on this branch like in the video I posted, and then switched back to my main branch.
Before merging I did these 3 commands, as it instructed to do so in the comments of the shift PR.
php artisan cache:clear
php artisan config:clear
php artisan route:clear
After I did these, I merged, and restart my local server and everything worked fine as far as I can tell. YMMV.
Hey Alex!
Thank you for this write up! This will be very helpful when I start with the Wave upgrade next couple of weeks!