Composer – instalujeme fork balíčku

Dnes si ukážeme jak nainstalovat fork balíčku. Proč instalovat fork? Důvodů může být mnoho: nekompatibilita s PHP,
nekompatibilita závislostí balíčku, … Já konkrétně popíši řešení s knihovnou h4kuna/fio, která je závislá na „nette/utils“: „^2.2“, ovšem já používám vývojový „nette/utils“: „^3.0“, proto není možné balíček vůbec nainstalovat.

Na Githubu tedy uděláme fork h4kuna/fio, čímž se knihovna „zkopíruje“ pod náš Github účet a můžeme do ni přispívat kódem(bez schválení původního autora). Uděláme tedy commit, který upraví h4kuna/fio aby byl použitelný: https://github.com/venca-x/fio/commit/627218b174f75f452b25c02b3699641865efaa02

Já konkrétně jsem upravil soubor composer.json (ve forknutém balíčku – v master větvi):
„nette/utils“: „^2.2“ na „nette/utils“: „^3.0“
a jelikož používám vývojovou verzi Nette 3.0 přidal na konec:
„minimum-stability“: „dev“

Tím máme hotovo a můžeme tento forknutý balíček nainstalovat. Ale jak?
Do souboru composer.json v našem projektu přidáme závislost na balíček, který nám předtím předtím nešel nainstalovat (ve vývojové verzi, naši úpravu forknutého balíčku jsme pushli do master větve):
„h4kuna/fio“: „dev-master“
ale pro tento balíček dáme náš zdroj – forknutý repozitář:

"repositories": [
{
"type": "git",
"url": "https://github.com/venca-x/fio.git"
}
],

Tím máme hotovo. Snad někomu pomůže stejně dobře jako mne 🙂


Tahák pro Composer

Jak stáhnout balíček do nové složky s projektem?

composer create-project nette/sandbox nazev-slozky-s-projektem

Kde složka nazev-slozky-s-projektem bude automaticky vytvořena

Jak zobrazit verze nainstalovaných balíčků?

composer show -i

composer install

Tím to příkazem nainstalujeme všechny balíčky ze souboru composer.json. Zároveň dojde k vytvoření souboru composer.lock který obsahuje seznam nainstalovaných verzí.

Pokud se dostanete k projektu ve kterém existuje composer.lock použijte pro stažení balíčků příkaz: composer install

composer update

Vynucení aktualizace balíčků. Tento příkaz přegeneruje soubor composer.lock.

Odinstalování balíčku

composer remove nette/nazev-balicku

Instalace konkrétní verze balíčku

Při instalaci se konkrétní verze píše za dvojtečku za název balíčku:

composer require facebook/php-sdk-v4:4.0.*
composer require google/apiclient:~1.0
composer require kertz/twitteroauth:dev-master
composer require venca-x/social-login:dev-master
composer require venca-x/nette.ajax.js:dev-master#fe640f40c9606e78f4fd31471931969c65b175c0

Instalace balíčků pro vývoj

ne vždy jsou balíčky nutnou součástí projektu (tester, phpstan, …). Tyto balíčky nainstalujeme s parametrem –dev

composer require --dev phpstan/phpstan-nette
Name Ukázka Popis
Přesná verze 1.0.2 Můžete určit přesnou verzi balíčku.
Rozsah >=1.0
>=1.0 <2.0
>=1.0 <1.1 || >=1.2
Operátory můžete určit rozsah platných verzí. Operátory jsou: >, >=, <, <=, !=
Můžete definovat více rozsahů. Rozsahy oddělené mezerou, nebo čárkou, budou považovány za logický AND.Dvojitá trubka (||), je považována za logický OR.
Hyphen Range 1.0 - 2.0 Například 1.0-2.0 odpovídá >= 1.0.0 <2.1
1.0.0 – 2.1.0 odpovídá >= 1.0.0 <= 2.1.0
Maska 1.0.* * je zástupný znak.  1.0.* Je ekvivalent >= 1.0 <1.1
Tilda operátor ~1.2 ~1.2 odpovídá >= 1.2 <2.0
Tilda operátor ~1.2.3 ~1.2.3 odpovídá >= 1.2.3 <1.3.0
Stříška operátor ^0.3 ^0.3 odpovídá >= 0.3 <0.4
Stříška operátor ^1.2.3 ^1.2.3 odpovídá >= 1.2.3 <2.0

U vlnovky záleží na tom, kolik číslic je uvedeno v čísle verze – poslední uvedená číslice se může lišit.

  • Preferujte operátor stříšky – je to nejjednodušší způsob, jak vynutit minimální verze oprav.