Tiga gangguan berbeda memakai pesan galat cask yang sama, dan masing-masing punya jalur pemulihannya sendiri. Penghapus bawaan vendor mungkin tidak ada di versi terpasang, proses pembantu mungkin masih berjalan dan menahan berkasnya, atau kuitansi paket mungkin tidak cocok dengan apa yang ada di disk. Trik forum lama yang menyelamatkan salah satu kasus itu tidak memberi tahu Anda kasus mana yang Anda hadapi. Membaca catatan cask itu sendiri adalah cara mengetahuinya.

Tiga gangguan yang tampak serupa

Penghapus yang hilang muncul sebagai jalur yang tidak ada saat cask mencoba menjalankannya. Proses pembantu yang hidup muncul sebagai penghapusan yang dimulai lalu macet, atau sebagai aplikasi yang muncul lagi setelah Anda menutupnya. Kuitansi usang muncul saat catatan cask sendiri dan basis data pemasang tidak sepakat apakah produk terpasang atau tidak.

Simpan teks galat pertama sebelum mencoba ulang apa pun. Percobaan kedua menimpa keadaan yang menghasilkan pesan itu, dan baris asli itulah yang dibutuhkan pemelihara atau vendor untuk membedakan kasus-kasus ini. Salin ke tempat yang bertahan setelah percobaan ulang.

Jika VPN ini membawa koneksi yang Anda pakai bekerja, siapkan dulu jalur administrasi lain. Menghapus klien yang memberi Anda akses adalah keputusan tentang jendela pemeliharaan, bukan tentang Homebrew. Urutan itulah yang membuat penghapusan gagal bisa dipulihkan alih-alih final.

Baca apa yang sebenarnya dipasang cask

Pandangan Homebrew sendiri adalah bukti termurah yang tersedia, dan tidak mengubah apa pun:

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

Perintah pertama mencetak metadata cask dan artefak yang dikelolanya; perintah kedua mendaftar apa yang tercatat sebagai terpasang. Keduanya tidak membuktikan bahwa setiap proses pembantu di mesin cocok dengan resep saat ini, dan justru karena itu pemasangan lama bisa gagal dengan cara yang tidak dijelaskan sumber cask saat ini. Perlakukan kedua keluaran sebagai klaim yang harus diperiksa, bukan sebagai kata terakhir tentang apa yang ada.

Bandingkan versi tercatat dengan versi aplikasi itu sendiri sebelum memilih jalur. Ketidakcocokan menjelaskan penghapus yang hilang tanpa gangguan yang lebih dalam, dan jawabannya adalah peningkatan ke versi yang diharapkan cask, bukan pembersihan manual.

Apa yang ditambahkan zap, dan berapa biayanya

Blok penghapusan sebuah cask menangani artefak yang dideklarasikan resep: menutup aplikasi, membongkar tugas peluncuran, menghapus item login, melupakan kuitansi paket, dan menghapus bundel aplikasi. Itulah jalur normal, dan itulah yang seharusnya berhasil.

--zap adalah permintaan berbeda. Ia meminta Homebrew menghapus preferensi pengguna dan sumber daya bersama juga, dan dokumentasi memperingatkan bahwa ini bisa memengaruhi perangkat lunak lain. Di cask OpenVPN Connect, blok zap menghapus openvpn.keychain-db dan membersihkan data dukungan aplikasi pengguna, yang berarti kredensial tersimpan dan profil koneksi ikut hilang. Jika profil berasal dari organisasi, pastikan Anda bisa mendaftar ulang sebelum memilih jalur ini.

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

Jalur yang tampak menentukan dan tidak

Menulis remove.sh palsu yang berakhir dengan kode keluar nol adalah opsi terburuk dalam daftar. Itu membuat penghapusan melaporkan sukses sementara tugas peluncuran, kuitansi, dan data aplikasi tetap di tempatnya, sehingga pemasangan berikutnya mewarisi produk yang setengah terhapus dan catatan yang mengatakan sebaliknya.

Menghapus direktori Caskroom atau bundel aplikasi dengan tangan menghasilkan keadaan serupa dari arah lain. Berkas hilang sementara kuitansi tetap ada. Setiap perintah berikutnya lalu harus dipikirkan terhadap mesin yang tidak lagi cocok dengan basis datanya sendiri.

brew update-reset untuk seluruh repositori adalah campur tangan yang lebih besar daripada yang dibenarkan satu cask gagal. Ia mengubah keadaan tap Anda untuk memperbaiki masalah yang tidak pernah tentang keadaan tap, dan bisa membiarkan Anda men-debug Homebrew yang berbeda dari yang Anda mulai.

Memutuskan secara berurutan

Ikuti urutannya: baca artefak tercatat cask, bandingkan versi, tutup setiap komponen yang berjalan, coba ulang penghapusan biasa, dan baru setelah itu pertimbangkan zap. Jika jalur biasa masih gagal, simpan galatnya dan bawa ke pemelihara cask atau vendor dengan nomor versi.

Cask Cookbook menyatakan jelas bahwa pemasang paket membutuhkan teknik penghapusan khusus produk dan bahwa zap bersifat pilihan dan dapat menghapus sumber daya bersama. Kerangka itu adalah aturan keputusan: penghapusan biasa dulu, zap saat Anda menerima biaya kredensial, penghapusan manual tidak pernah.

Artikel terkait