Hvordan fjerne en pakke fra Laravel ved hjelp av komponist?

Hvordan fjerne en pakke fra Laravel ved hjelp av komponist?

Problem

Hva er den rette måten å fjerne en pakke fra Laravel ? Noen pakker publiserer sin konfigurasjon via Artisan Config: Publiser ... er det en måte å "unpublish" dem?

Løsning

Trinnene for å fjerne en pakke fra Laravel er:

  1. Fjern erklæring fra komponist.JSON (i "Krev" -seksjonen)
  2. Fjern tjenesteleverandøren fra app/config/app.PHP (referanse i "leverandører" -array)
  3. Fjern alle klassealiaser fra app/config/app.PHP
  4. Fjern referanser til pakken fra koden din
  5. Kjør komponistoppdateringsleverandør/pakkenavn. Dette vil fjerne pakkemappen fra leverandørmappen og vil gjenoppbygge komponist Autoloading Map.
  6. Slett de publiserte filene manuelt

Den fjerner pakkemappen fra "leverandør" -mappen

Ytterligere råd

I tillegg er her noen flere forslag i tilfelle du får uforutsette problemer.

Så selv etter at du har fulgt alle trinnene fra det ovennevnte, kan det noen ganger være at filer ganske enkelt sitter fast i komponistbufferen og at den ikke vil oppdatere. I så fall må du tømme komponistbufferen ved å kjøre følgende kommando i terminalen din:

$ komponist ClearCache

Det er greit hvis du også vil bruke Clear-Cache, som er et alias for ClearCache.

Hvis du noen gang mottar en merkelig advarselsmelding, for eksempel nedenfor, vil det være et klart tegn på at du har problemer med cachen.

"Den etterspurte pakkeleverandøren/MyPackage ble ikke funnet i noen versjon,
Det kan være en skrivefeil i pakketavnet "

Etter at du er klar og har tømt komponistbufferen din, kan du prøve å løpe

komponistdump -o

Siden det vil regenerere låsefilen og sørge for at minimumskravene er fullfylt.