Tri rôzne závady nesú rovnakú chybovú správu casku a každá má vlastnú cestu k náprave. Odinštalátor od dodávateľa môže v nainštalovanej verzii chýbať, pomocný proces môže stále bežať a držať svoje súbory, alebo sa potvrdenie o balíku môže rozchádzať s tým, čo je na disku. Starý trik z fóra, ktorý zachránil jeden z týchto prípadov, vám nepovie nič o tom, ktorý máte vy. Zistíte to čítaním vlastného záznamu casku.

Tri závady, ktoré vyzerajú rovnako

Chýbajúci odinštalátor sa prejaví ako cesta, ktorá neexistuje, keď ju cask skúsi spustiť. Živý pomocný proces sa prejaví ako odstraňovanie, ktoré začne a potom sa zasekne, alebo ako aplikácia, ktorá sa po ukončení znova objaví. Zastarané potvrdenie sa prejaví, keď sa vlastný záznam casku a databáza inštalátora nezhodujú v tom, či je produkt vôbec nainštalovaný.

Pred akýmkoľvek novým pokusom si uložte prvý text chyby. Druhý pokus prepíše stav, ktorý správu vytvoril, a pôvodný riadok je to, čo správca alebo dodávateľ potrebuje na rozlíšenie týchto prípadov. Skopírujte ho niekam, kde prežije nový pokus.

Ak táto VPN nesie pripojenie, ktoré používate na prácu, najprv si pripravte inú cestu správy. Odstránenie klienta, ktorý vám dáva prístup, je rozhodnutie o servisnom okne, nie o Homebrew. Práve toto poradie robí z neúspešnej odinštalácie obnoviteľný stav namiesto konečného.

Prečítajte si, čo cask skutočne nainštaloval

Vlastný pohľad Homebrew je najlacnejší dostupný dôkaz a nič nemení:

brew info --cask openvpn-connect
brew list --cask openvpn-connect

Prvý príkaz vypíše metadáta casku a artefakty, ktoré spravuje; druhý vypíše, čo je zaznamenané ako nainštalované. Ani jeden nepreukazuje, že každý pomocný proces na stroji zodpovedá aktuálnemu receptu, a práve preto môže staršia inštalácia zlyhať spôsobom, ktorý aktuálny zdroj casku nepopisuje. Berte oba výstupy ako tvrdenie na overenie, nie ako posledné slovo o tom, čo existuje.

Pred voľbou cesty porovnajte zaznamenanú verziu s vlastnou verziou aplikácie. Nezhoda vysvetľuje chýbajúci odinštalátor bez hlbšej závady a odpoveďou je aktualizácia na verziu, ktorú cask očakáva, nie ručné čistenie.

Čo pridáva zap a čo stojí

Sekcia odinštalácie v casku sa stará o artefakty, ktoré recept deklaruje: ukončenie aplikácie, vyloženie úloh pri prihlásení, odstránenie prihlasovacej položky, zabudnutie potvrdení o balíčkoch a zmazanie balíka aplikácie. To je bežná cesta a je to tá, ktorá by mala fungovať.

--zap je iná požiadavka. Žiada Homebrew, aby odstránil aj používateľské nastavenia a zdieľané prostriedky, a dokumentácia varuje, že to môže ovplyvniť iný softvér. V casku OpenVPN Connect sekcia zap zmaže openvpn.keychain-db a vyčistí používateľské dáta na podporu aplikácií, čo znamená, že uložené prihlasovacie údaje a profily pripojenia zmiznú spolu s ním. Ak profil pochádza od organizácie, overte, že sa môžete znova zaregistrovať, než túto cestu zvolíte.

ConditionPath that fitsPath to avoid
Uninstaller path missing after an OS upgradeUpgrade the cask to the version matching the appHand-writing a replacement script
Helper still running during removalQuit the app and its menu agent, then retryDeleting the bundle while the helper runs
Receipt exists but files are goneForget the receipt with the cask's own toolingRecursive deletion of the Caskroom entry
You need the machine clean and can re-enrollZap, after reading the stanzaZap on a machine whose profiles you cannot rebuild

Cesty, ktoré vyzerajú rozhodne, ale nie sú

Napísať falošný remove.sh, ktorý skončí s nulovým návratovým kódom, je najhoršia možnosť v zozname. Odinštalácia ohlási úspech, zatiaľ čo úlohy pri prihlásení, potvrdenia a dáta aplikácie zostanú na mieste, takže ďalšia inštalácia zdedí napoly odstránený produkt a záznam, ktorý tvrdí opak.

Ručné zmazanie adresára Caskroom alebo balíka aplikácie vytvorí podobný stav z druhej strany. Súbory zmiznú, potvrdenie zostane. Každý ďalší príkaz potom musíte posudzovať voči stroju, ktorý už nezodpovedá svojej vlastnej databáze.

brew update-reset pre celé úložisko je väčší zásah, než jeden neúspešný cask ospravedlňuje. Mení stav vašich tapov, aby opravil problém, ktorý nikdy nebol o stave tapov, a môže vás nechať ladiť iný Homebrew, než s ktorým ste začali.

Rozhodovanie po poradí

Postupujte po poradí: prečítajte zaznamenané artefakty casku, porovnajte verzie, ukončite každý bežiaci komponent, zopakujte bežnú odinštaláciu a až potom zvážte zap. Ak bežná cesta stále zlyháva, chybu si uložte a vezmite ju správcom casku alebo dodávateľovi s číslami verzií.

Cask Cookbook výslovne uvádza, že inštalátory balíkov potrebujú techniky odinštalácie špecifické pre produkt a že zap je voliteľný a môže odstrániť zdieľané prostriedky. Toto vymedzenie je rozhodovacie pravidlo: najprv bežná odinštalácia, zap keď prijmete cenu za prihlasovacie údaje, ručné mazanie nikdy.

Súvisiace články