ਤਿੰਨ ਵੱਖਰੇ ਨੁਕਸ ਇੱਕੋ 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 ਨੂੰ ਵਰਤੋਂਕਾਰ ਪਸੰਦਾਂ ਅਤੇ ਸਾਂਝੇ ਸਰੋਤ ਵੀ ਹਟਾਉਣ ਲਈ ਕਹਿੰਦੀ ਹੈ, ਅਤੇ ਦਸਤਾਵੇਜ਼ ਚੇਤਾਵਨੀ ਦਿੰਦੇ ਹਨ ਕਿ ਇਸ ਦਾ ਹੋਰ ਸੌਫ਼ਟਵੇਅਰ ਉੱਤੇ ਅਸਰ ਪੈ ਸਕਦਾ ਹੈ। OpenVPN Connect ਦੇ cask ਵਿੱਚ 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, ਹੱਥ ਨਾਲ ਮਿਟਾਉਣਾ ਕਦੇ ਨਹੀਂ।

ਸੰਬੰਧਿਤ ਲੇਖ