Tres fallas distintas levan a mesma mensaxe de erro do cask, e cada unha ten o seu propio camiño de recuperación. Pode faltar o desinstalador do provedor na versión instalada, pode haber un auxiliar aínda en execución que retén os seus ficheiros, ou o recibo do paquete pode non coincidir co que hai no disco. O vello remedio do foro que rescatou un deses casos non che di nada sobre cal tes. Ler o rexistro propio do cask é a forma de descubrilo.

Tres fallas que se parecen

Un desinstalador ausente maniféstase como un camiño que non existe cando o cask tenta executalo. Un auxiliar vivo maniféstase como unha eliminación que comeza e despois atasca, ou como unha aplicación que reaparece despois de pechala. Un recibo obsoleto maniféstase cando o rexistro propio do cask e a base de datos do instalador non coinciden sobre se o produto está instalado sequera.

Garda o primeiro texto do erro antes de reintentar nada. Un segundo intento sobrescribe o estado que produciu a mensaxe, e a liña orixinal é o que necesita un mantedor ou un provedor para distinguir estes casos. Cópiaa nun lugar que sobreviva ao reintento.

Se esta VPN leva a conexión que usas para traballar, prepara primeiro outra vía de administración. Quitar o cliente que che dá acceso é unha decisión sobre a xanela de mantemento, non sobre Homebrew. Esa orde é tamén o que fai que unha desinstalación fallida sexa recuperable en lugar de definitiva.

Le o que o cask instalou realmente

A visión propia de Homebrew é a evidencia máis barata dispoñible, e non modifica nada:

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

O primeiro comando imprime os metadatos do cask e os artefactos que xestiona; o segundo lista o que consta como instalado. Ningún dos dous demostra que cada auxiliar da máquina coincida coa receita actual, e é exactamente por iso que unha instalación antiga pode fallar dun xeito que o código actual do cask non describe. Trata as dúas saídas como unha afirmación que hai que comprobar, non como a última palabra sobre o que existe.

Compara a versión rexistrada coa versión propia da aplicación antes de escoller un camiño. Unha discrepancia explica un desinstalador ausente sen ningunha falla máis profunda, e a resposta é actualizar á versión que o cask espera, non unha limpeza manual.

Que engade zap e que custa

A estrofa de desinstalación dun cask encárgase dos artefactos que declara a receita: pechar a aplicación, descargar as tarefas de inicio, eliminar un elemento de inicio de sesión, esquecer os recibos do paquete e borrar o paquete da aplicación. Ese é o camiño normal, e é o que debería funcionar.

--zap é unha petición distinta. Pide a Homebrew que elimine tamén as preferencias de usuario e os recursos compartidos, e a documentación advirte de que iso pode afectar outro software. No cask de OpenVPN Connect a estrofa zap borra openvpn.keychain-db e limpa os datos de soporte de aplicacións do usuario, o que significa que as credenciais gardadas e os perfís de conexión se van con ela. Se o perfil vén dunha organización, confirma que podes volver inscribirte antes de escoller este camiño.

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

Camiños que parecen decisivos e non o son

Escribir un remove.sh falso que remate con código de saída cero é a peor opción da lista. Fai que a desinstalación informe de éxito mentres as tarefas de inicio, os recibos e os datos da aplicación quedan no seu sitio, así que a seguinte instalación herda un produto a medio quitar e un rexistro que di o contrario.

Borrar a man o directorio Caskroom ou o paquete da aplicación produce un estado semellante desde o outro lado. Os ficheiros desaparecen mentres o recibo queda. Cada orde posterior ten entón que razoarse contra unha máquina que xa non coincide coa súa propia base de datos.

Un brew update-reset en todo o repositorio é unha intervención maior do que xustifica un só cask fallido. Cambia o estado dos teus taps para arranxar un problema que nunca foi sobre o estado dos taps, e pode deixarte depurando un Homebrew distinto do que comezaches.

Decidir por orde

Segue a secuencia: le os artefactos rexistrados do cask, compara versións, pecha cada compoñente en execución, reintenta a desinstalación normal e só entón considera zap. Se o camiño normal segue fallando, garda o erro e lévao aos mantedores do cask ou ao provedor cos números de versión.

O Cask Cookbook di explicitamente que os instaladores de paquetes necesitan técnicas de desinstalación específicas do produto e que zap é opcional e pode eliminar recursos compartidos. Ese planteamento é a regra de decisión: primeiro a desinstalación normal, zap cando aceptas o custo das credenciais, nunca o borrado manual.

Artigos relacionados