Tips och tricks för disposition
Det kan uppstå problem när du utvecklar Adobe Commerce-moduler med Composer. Dessa metodtips beskriver några vanliga uppgifter som underlättar utvecklingen och hjälper dig att snabbt lösa problem.
Snabba upp disposition
Installera https://github.com/hirak/prestissimo om du vill snabba upp Composer med asynkrona pakethämtningar.
composer global require hirak/prestissimo
Om du får problem avinstallerar du prestissimo
:
composer global remove hirak/prestissimo
Lös vaga versionsproblem
Composer kan ibland hamna i ett dödläge med paketversioner. Du kan se meddelanden om versioner som är inkompatibla även om de inte är det. Försök att återställa Composer innan du felsöker kompatibilitetsproblem:
-
Rensa cacheminnet för Composer.
code language-bash composer clearcache
-
Ta bort filen
composer.lock
för alla paket.code language-bash rm -rf vendor/* composer.lock
-
Installera om Composer-paketen.
code language-bash composer install
composer.lock
från Git om du vill ångra uppgraderingarna.Sök efter möjliga uppdateringar i klientpaket
-
Ta reda på vilka paket som kan vara inaktuella.
code language-bash composer outdated
-
Filtrera med jokertecken och/eller alternativet
--minor-only
om du vill hoppa över bakåtkompatibla uppgraderingar:code language-bash composer outdated 'magento/*' composer outdated --minor-only 'magento/*'
Ta reda på om en modul är installerad
Visa information om alla installerade paket på en Git-gren.
composer info
Kör composer install
efter Git-växling och innan du kör composer info
. I annat fall visar Composer information om den föregående grenen som du checkat ut.
code language-bash |
---|
|
Ta reda på varför ett (specifik version av ett) paket är installerat
Ibland installerar Composer den senaste tillgängliga versionen av ett paket på grund av ett strikt beroende i ett annat paket.
Ta reda på om det finns ett strikt beroende i ett annat paket.
composer why client/module-example
Om resultatet visar en lista med metapaket eller ett annat paket som inte uttryckligen krävs kör du kommandot på det paketet:
composer why example/metapackage
Ta reda på varför ett paket inte är installerat
Ibland installerar inte Composer ett paket eftersom det är i konflikt med ett annat paket, ett annat paket ersätter det eller eftersom du inte har definierat det som ett beroende.
Ta reda på varför ett paket inte är installerat.
composer why-not client/module-example
Använd en privat Composer-databas som värd
Om du behöver en privat Composer-databas använder du Privat Packagist eller JFrog Artifactory. Använd inte Satis.
-
Privat Packagist är säker, kostar cirka 600 USD per år med tre administratörsanvändare och är värd för den.
-
JFrog Artifactory kostar 1 176 USD per år. Det används inte lika ofta som Packagist, men har stöd för fler språk än PHP.
-
Satis har ingen inbyggd säkerhet, ingen automatisering och kräver ytterligare värdtjänster. Det är bara gratis om din tid också är gratis.
Versionspaket
Använd Semantisk version 2.0.0 enligt beskrivningen i Adobe Commerce versionshanteringsschema. Uppfinna inte hjulet på nytt.
Om du vill se Adobe Commerce-modulberoenden följer du dokumentationen för modulens versionsberoenden.
Använd inte versionsdefinitionen i filen composer.json
. Använd i stället Git-taggar för versioner. Se Dispositionsversioner och -begränsningar.
Var moduler som kommer in i en arkivfil och inte via Composer ska placeras
Skapa en Git-databas för moduler i ett arkiv och lagra dem själv. Alla Adobe Commerce-moduler har en composer.json
-fil. När du har lagrat den i Git och synkroniserat den med en privat paketerare kan du installera den med Composer.
När du får en ny version av paketet överför du koden till Git, taggar den och installerar den nya versionen med Composer.