Post hoe een forked package gebruiken in Laravel.
Nu Laravel 9 uit is en ik een project wil updaten van Laravel 8 naar versie 9 heb ik een probleem met een externe package dat ik gebruik.
Het gaat om package om ‘timothydc/laravel-lightspeed-ecom-api’, https://github.com/timothydc/laravel-lightspeed-ecom-api
Package heeft als requirement
"illuminate/support": "^7.0|^8.0",
maar Laravel 9 gebruikt versie ^9.0 dus krijg een foutmelding bij composer install/update.
timothydc/laravel-lightspeed-ecom-api v1.3.0 requires illuminate/support ^7.0|^8.0
Fork van de package maken
Omdat het niet mijn package is maar ik wel de package wil gebruiken moet ik een fork van het project maken.
Het gaat hier om een Github project. Ga naar het project en klik rechtsboven op ‘Fork’
Het project staat nu bij je Repositories. Maak een nieuwe branch en doe je wijzigingen die je nodig hebt.
Composer.json bijwerken
We moeten nu aan composer doorgeven dat we forked package willen gebruiken.
"repositories": [
{
"type": "vcs",
"url": "https://github.com/profile/forked-package"
},
We geven nu het pad van de forked package aan zodat hij niet het originele package gaat downloaden.
Forked package downloaden
Je kan nu je forked package downloaden met bijna hetzelfde commando zoals je het originele zou downloaden. We voegen alleen de net aangemaakte branch toe.
composer require timothydc/laravel-lightspeed-ecom-api:dev-laravel9-support
Let op
Voeg wel de prefix dev- toe aan je commando. Dus als je branch ‘laravel9-support’ heet, zal dit worden dev-laravel9-support.
Doe je dit niet,
composer require timothydc/laravel-lightspeed-ecom-api:laravel9-support
Dan krijg je de foutmelding:
Could not parse version constraint laravel9: Invalid version string "laravel9"
Was mij in het begin niet duidelijk en zat er een tijd mee te klooien dus hoop dat ik je deze tijd bespaar 😉