Homebrew non desinstala OpenVPN Connect: que camiño encaixa?
Unha desinstalación fallida de cask é unha de tres fallas. Le os artefactos do cask, compara versións e despois escolle entre reintentar, actualizar ou zap.
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-connectO 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.
| Condition | Path that fits | Path to avoid |
|---|---|---|
| Uninstaller path missing after an OS upgrade | Upgrade the cask to the version matching the app | Hand-writing a replacement script |
| Helper still running during removal | Quit the app and its menu agent, then retry | Deleting the bundle while the helper runs |
| Receipt exists but files are gone | Forget the receipt with the cask's own tooling | Recursive deletion of the Caskroom entry |
| You need the machine clean and can re-enroll | Zap, after reading the stanza | Zap 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.