Tri različite greške nose istu poruku o grešci caska i svaka ima svoj put oporavka. Deinstalater dobavljača može nedostajati u instaliranoj verziji, pomoćni proces može još raditi i držati svoje datoteke, ili se evidencija paketa može razilaziti s onim što je na disku. Stari forumski zaobilazni postupak koji je spasio jedan od tih slučajeva ne govori vam ništa o tome koji je vaš. Čitanje vlastite evidencije caska je način da to saznate.

Tri greške koje izgledaju isto

Deinstalater koji nedostaje pojavljuje se kao putanja koja ne postoji kada ga cask pokuša pokrenuti. Živi pomoćni proces pojavljuje se kao uklanjanje koje počne i onda se zaglavi, ili kao aplikacija koja se ponovno pojavi nakon što je zatvorite. Zastarjela evidencija pojavljuje se kada se vlastita evidencija caska i baza instalatera ne slažu oko toga je li proizvod uopće instaliran.

Sačuvajte prvi tekst greške prije nego što bilo što ponovite. Drugi pokušaj prepisuje stanje koje je proizvelo poruku, a izvorni redak je ono što održavatelju ili dobavljaču treba da bi razlikovao te slučajeve. Kopirajte ga negdje gdje će preživjeti ponovni pokušaj.

Ako ovaj VPN nosi vezu koju koristite za rad, prvo osigurajte drugi put za administraciju. Uklanjanje klijenta koji vam daje pristup odluka je o prozoru za održavanje, a ne o Homebrewu. Taj redoslijed je i ono što neuspjelo uklanjanje čini obnovljivim umjesto konačnim.

Pročitajte šta je cask zaista instalirao

Vlastiti pogled Homebrewa najjeftiniji je dostupni dokaz i ništa ne mijenja:

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

Prva naredba ispisuje metapodatke caska i artefakte kojima upravlja; druga navodi što je zabilježeno kao instalirano. Nijedna ne dokazuje da svaki pomoćni proces na stroju odgovara trenutnom receptu, i upravo zato starija instalacija može pasti na način koji trenutni izvor caska ne opisuje. Tretirajte ta dva izlaza kao tvrdnju koju treba provjeriti, a ne kao konačnu riječ o tome što postoji.

Uporedite zabilježenu verziju s vlastitom verzijom aplikacije prije nego što odaberete put. Nesklad objašnjava deinstalater koji nedostaje bez dublje greške, a odgovor je nadogradnja na verziju koju cask očekuje, a ne ručno čišćenje.

Šta zap dodaje i koliko košta

Odjeljak za uklanjanje u casku obrađuje artefakte koje recept deklarira: zatvaranje aplikacije, rasterećenje poslova pokretanja, uklanjanje stavke za prijavu, zaboravljanje evidencija paketa i brisanje paketa aplikacije. To je uobičajeni put i to je onaj koji bi trebao raditi.

--zap je drugi zahtjev. Traži od Homebrewa da ukloni i korisničke postavke i dijeljene resurse, a dokumentacija upozorava da to može utjecati na drugi softver. U casku OpenVPN Connect zap odjeljak briše openvpn.keychain-db i čisti korisničke podatke o podršci aplikacijama, što znači da spremljene vjerodajnice i profili veze odlaze s njim. Ako profil dolazi iz organizacije, potvrdite da se možete ponovno registrirati prije nego što odaberete taj put.

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

Putovi koji izgledaju odlučno, a nisu

Pisanje lažnog remove.sh koji završava s nultim izlaznim kodom najgora je opcija na popisu. Čini da uklanjanje prijavi uspjeh dok poslovi pokretanja, evidencije i podaci aplikacije ostaju na mjestu, pa sljedeća instalacija nasljeđuje napola uklonjen proizvod i evidenciju koja tvrdi suprotno.

Ručno brisanje direktorija Caskroom ili paketa aplikacije stvara slično stanje s druge strane. Datoteke nestaju, a evidencija ostaje. Tada se o svakoj kasnijoj naredbi mora razmišljati prema stroju koji više ne odgovara svojoj bazi.

brew update-reset za cijelo spremište veći je zahvat nego što jedan neuspjeli cask opravdava. Mijenja stanje vaših tapova da bi riješio problem koji nikada nije bio o stanju tapova, i može vas ostaviti da otklanjate pogreške u drugom Homebrewju od onoga s kojim ste počeli.

Odlučivanje po redu

Radite po redu: pročitajte zabilježene artefakte caska, uporedite verzije, zatvorite svaku komponentu koja radi, ponovite uobičajeno uklanjanje i tek onda razmotrite zap. Ako uobičajeni put i dalje pada, sačuvajte grešku i odnesite je održavateljima caska ili dobavljaču s brojevima verzija.

Cask Cookbook izričito kaže da instalateri paketa trebaju tehnike uklanjanja specifične za proizvod i da je zap dobrovoljan i može ukloniti dijeljene resurse. Taj okvir je pravilo odluke: prvo uobičajeno uklanjanje, zap kada prihvatite cijenu vjerodajnica, ručno brisanje nikada.

Povezani članci