Kolm erinevat riket kannavad sama caski veateadet ja igal neist on oma taastetee. Tootja desinstallija võib paigaldatud versioonist puududa, abiprotsess võib veel töötada ja oma faile hoida, või võib paketi kviitung erineda sellest, mis kettal on. Vana foorumi lahendus, mis päästis ühe neist juhtudest, ei ütle teile midagi selle kohta, milline neist teie oma on. Selle väljaselgitamise viis on lugeda caski enda kirjet.

Kolm riket, mis näevad ühesugused välja

Puuduv desinstallija ilmneb teena, mida ei ole, kui cask seda käivitada üritab. Töötav abiprotsess ilmneb eemaldamisena, mis algab ja siis takerdub, või rakendusena, mis pärast sulgemist uuesti ilmub. Aegunud kviitung ilmneb siis, kui caski enda kirje ja paigaldaja andmebaas ei ole ühel meelel selles, kas toode on üldse paigaldatud.

Enne kui midagi uuesti proovite, hoidke alles esimene veatekst. Teine katse kirjutab üle seisundi, mis teate tekitas, ja just algne rida on see, mida hooldaja või tootja vajab nende eristamiseks. Kopeerige see kohta, mis uuesti proovimise üle elab.

Kui see VPN kannab ühendust, mida te tööks kasutate, korraldage kõigepealt teine haldustee. Juurdepääsu andva kliendi eemaldamine on otsus hooldusakna, mitte Homebrew'i kohta. Just see järjekord teeb ebaõnnestunud desinstallimisest taastatava, mitte lõpliku.

Lugege, mida cask tegelikult paigaldas

Homebrew'i enda vaade on odavaim olemasolev tõend ja see ei muuda midagi:

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

Esimene käsk trükib caski metaandmed ja artefaktid, mida see haldab; teine loetleb selle, mis on paigaldatuna kirjas. Kumbki ei tõesta, et iga masinas olev abiprotsess vastab praegusele retseptile, ja just seepärast võib vanem paigaldus ebaõnnestuda viisil, mida praegune caski lähtekood ei kirjelda. Käsitlege neid kahte väljundit kontrollimist vajava väitena, mitte viimase sõnana selle kohta, mis olemas on.

Enne tee valimist võrrelge kirja pandud versiooni rakenduse enda versiooniga. Erinevus seletab puuduva desinstallija ilma sügavama rikketa ja vastus on uuendamine versioonile, mida cask ootab, mitte käsitsi puhastamine.

Mida zap lisab ja mida see maksab

Caski desinstallimisplokk tegeleb artefaktidega, mille retsept deklareerib: rakenduse sulgemine, käivitusülesannete mahalaadimine, sisselogimisüksuse eemaldamine, paketikviitungite unustamine ja rakendusepaketi kustutamine. See on tavaline tee ja just see peaks töötama.

--zap on teistsugune palve. See palub Homebrew'il eemaldada ka kasutaja eelistused ja jagatud ressursid ning dokumentatsioon hoiatab, et see võib mõjutada muud tarkvara. OpenVPN Connecti caskis kustutab zap-plokk faili openvpn.keychain-db ja tühjendab kasutaja rakendusetoe andmed, mis tähendab, et salvestatud mandaadid ja ühenduse profiilid lähevad sellega kaasa. Kui profiil pärineb organisatsioonilt, kinnitage enne selle tee valimist, et saate uuesti registreeruda.

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

Teed, mis tunduvad otsustavad, aga ei ole

Kirjutada võlts remove.sh, mis lõpeb nullise väljumiskoodiga, on nimekirja halvim valik. See paneb desinstallimise edust teatama, samal ajal kui käivitusülesanded, kviitungid ja rakenduse andmed jäävad paigale, nii et järgmine paigaldus pärib pooleldi eemaldatud toote ja kirje, mis väidab vastupidist.

Caskroomi kataloogi või rakendusepaketi käsitsi kustutamine tekitab sarnase seisundi teisest küljest. Failid kaovad, kviitung jääb. Seejärel tuleb iga hilisemat käsku hinnata masina vastu, mis ei vasta enam oma andmebaasile.

Kogu hoidla brew update-reset on suurem sekkumine, kui üks ebaõnnestunud cask õigustab. See muudab teie tapi olekut, et parandada probleemi, mis ei olnud kunagi tapi olekust, ja võib jätta teid siluma teist Homebrew'd kui see, millega alustasite.

Otsustamine järjekorras

Töötage järjekorras: lugege caski kirja pandud artefakte, võrrelge versioone, sulgege iga töötav komponent, proovige tavaline desinstallimine uuesti ja alles siis kaaluge zapi. Kui tavaline tee ikka ebaõnnestub, hoidke viga alles ja viige see koos versiooninumbritega caski hooldajatele või tootjale.

Cask Cookbook ütleb selgelt, et paketipaigaldajad vajavad tootepõhiseid desinstallimisvõtteid ja et zap on vabatahtlik ning võib jagatud ressursse eemaldada. See raamistik on otsustusreegel: kõigepealt tavaline desinstallimine, zap siis, kui nõustute mandaatide hinnaga, käsitsi kustutamine mitte kunagi.

Seotud artiklid