New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Don't abort entire brew cask upgrade if one cask fails #5203
Comments
No objections from me. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
Stale bot, keep this open! |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
I have the same problem und would like to upvote the issue. |
@ascheman Please 👍 in future instead, thanks. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
Stale bot, keep this open! |
keep it open! |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. |
keep it open! |
If you are interested in adding this feature, feel free to submit it as a pull request and a maintainer will review it. Even a partial implementation is fine since we can help you work through the rest of it. "Upvoting" an issue or keeping it open doesn't help since no maintainer is currently working on this feature. |
I did a bit of digging, but don't have time right now to finish a fix. Adding code pointers to any others who are open to picking this up.
General thoughts:
Hope this helps other fellow hackers. |
'cask upgrade' command collects all exceptions thrown from individual casks during the upgrade process. If there were more than one cask that raised exceptions during the upgrade process, a MultipleCaskErrors exception will be thrown. Issue Homebrew#5203
Wasn't this fixed by #5983 ? |
Yes, it was. Good spot @amyspark and thanks again @zachauten! |
Right now, if you run
brew cask upgrade
and one of your casks fails (e.g., thedepends_on macos
stanza), two things happen:Error: Cask cask_name depends on macOS release...
,Error: Checksum for Cask 'superduper' does not match
,Error: Download failed on Cask cask_name...
, etc.)brew cask upgrade
stopsbrew cask
thus won't ever upgrade any casks coming alphabetically after the failing cask. While most issues should be fixable, if there is a macOS dependency issue, there's nothing to "fix" outside of updating to the latest macOS: a cask depending onmojave
will obstructhigh_sierra
users, despite homebrew-cask officially supporting the two latest macOS point releases.One workaround is to manually parse out each cask by piping
brew cask outdated
throughgrep -v
and then intobrew cask upgrade
; this should work but is repetitive and obviously not ideal or easily scalable. Another is to remove the relevant files from the caskroom and stop usingbrew-cask
for the application(s) in question; likewise, this isn't ideal.Expected behavior would be for
installer
to raise the error as appropriate but forupgrade
torescue
and continue with any remaining casks. This would match whatbrew
does after #3644 and I believe is essentially what @ilovezfs suggested should be the default behavior in #3634 (comment).The text was updated successfully, but these errors were encountered: