Три различни дефекти ја носат истата порака за грешка на cask, и секој има свој пат за враќање. Деинсталаторот на производителот може да недостасува во инсталираната верзија, помошен процес сѐ уште може да работи и да ги држи неговите датотеки, или потврдата за пакетот може да не се совпаѓа со тоа што е на дискот. Старото форумско решение што спаси еден од тие случаи не ви кажува ништо за тоа кој случај го имате. Читањето на сопствениот запис на cask е начинот да го дознаете.

Три дефекти што изгледаат исто

Деинсталатор што недостасува се појавува како пат што не постои кога cask се обидува да го изврши. Активен помошен процес се појавува како отстранување што започнува и потоа застанува, или како апликација што повторно се појавува откако ќе ја затворите. Застарена потврда се појавува кога сопствениот запис на cask и базата на инсталатерот не се согласуваат за тоа дали производот воопшто е инсталиран.

Зачувајте го првиот текст на грешката пред да повторите нешто. Вториот обид ја препишува состојбата што ја создала пораката, а оригиналната линија е она што му е потребно на одржувач или производител за да ги разликува овие случаи. Копирајте ја на место што ќе го преживее повторувањето.

Ако овој VPN ја пренесува врската со која работите, прво обезбедете друг пат за администрација. Отстранувањето на клиентот што ви дава пристап е одлука за сервисниот прозорец, не за Homebrew. Токму овој редослед прави неуспешното деинсталирање да биде вратливо наместо конечно.

Прочитајте што cask навистина инсталирал

Сопствениот поглед на Homebrew е најевтиниот достапен доказ и не менува ништо:

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

Првата команда ги печати метаподатоците на cask и артефактите што ги управува; втората ги наведува оние што се запишани како инсталирани. Ниту една не докажува дека секој помошен процес на машината одговара на тековниот рецепт, и токму затоа постара инсталација може да не успее на начин што тековниот извор на cask не го опишува. Третирајте ги двата излези како тврдење што треба да се провери, а не како последен збор за тоа што постои.

Споредете ја запишаната верзија со сопствената верзија на апликацијата пред да изберете пат. Несовпаѓањето објаснува деинсталатор што недостасува без подлабока дефект, а одговорот е надградба на верзијата што ја очекува cask, а не рачно чистење.

Што додава zap и што чини

Делот за деинсталирање на cask се справува со артефактите што ги декларира рецептот: затворање на апликацијата, истовар на задачите за стартување, отстранување на елемент за најава, заборавање на потврдите за пакетот и бришење на пакетот на апликацијата. Тоа е нормалниот пат, и тој е оној што треба да работи.

--zap е различно барање. Бара од Homebrew да ги отстрани и корисничките поставки и споделените ресурси, а документацијата предупредува дека тоа може да влијае на друг софтвер. Во cask на OpenVPN Connect делот zap го брише openvpn.keychain-db и ги чисти податоците за поддршка на апликациите на корисникот, што значи дека зачуваните акредитиви и профилите за врска одат со него. Ако профилот доаѓа од организација, потврдете дека можете повторно да се регистрирате пред да го изберете овој пат.

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

Патеки што изгледаат решавачки, а не се

Пишувањето лажен remove.sh што завршува со нулти излезен код е најлошата опција на списокот. Тоа прави деинсталирањето да пријави успех додека задачите за стартување, потврдите и податоците на апликацијата остануваат на место, па следната инсталација наследува половина отстранет производ и запис што го тврди спротивното.

Рачното бришење на директориумот Caskroom или на пакетот на апликацијата создава слична состојба од другата страна. Датотеките исчезнуваат додека потврдата останува. Тогаш секоја следна команда мора да се разгледува во однос на машина што веќе не одговара на сопствената база.

brew update-reset за целото складиште е поголем зафат отколку што оправдува еден неуспешен cask. Го менува вашиот tap статус за да реши проблем што никогаш не бил за tap статусот, и може да ве остави да отстранувате грешки во друг Homebrew од оној со кој почнавте.

Одлучување по ред

Работете по редослед: прочитајте ги запишаните артефакти на cask, споредете ги верзиите, затворете ја секоја компонента што работи, повторете го обичното деинсталирање и дури потоа разгледајте zap. Ако обичниот пат сѐ уште не успее, зачувајте ја грешката и однесете ја кај одржувачите на cask или кај производителот со броевите на верзиите.

Cask Cookbook јасно кажува дека инсталатерите на пакети бараат техники за деинсталирање специфични за производот и дека zap е изборен и може да ги отстрани споделените ресурси. Таа рамка е правилото за одлука: прво обично деинсталирање, zap кога ја прифаќате цената на акредитивите, рачно бришење никогаш.

Поврзани статии