-
-
Notifications
You must be signed in to change notification settings - Fork 10.7k
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
[Suggestion] new install/update mechanism #7816
Comments
Hi! Thanks! Yes, we are aware of the new mechanism but it might need more discussion among @caskroom/maintainers . Pros
Cons
Further studyOne thing that needs further research (to determine whether it is a pro or a con) is: one reason why we recommend the ridiculous, long, confusing command $ brew update && brew upgrade brew-cask && brew cleanup && brew cask cleanup even though we don't particularly like it (#4981) is that the full command often solves specific user issues. Those issues appear to be caused by Homebrew accidentally keeping around old copies of our software. If the new mechanism makes that less likely to happen, that is a strong "pro". If the new mechanism allows multiple copies to hang around, but makes it harder to clean them out by an explicit command, that is a strong "con". (claui: Updated this list with points gathered from the comments) |
That's exactly what happens. Using new mechanism, there will be only one copy which it's in |
Correction, the old way keeps more than three copies: one in Cache, one in Tap and maybe more than one in Cellar. |
@xu-cheng Love the idea! I’m always biased towards UX so I’m inclined to second that. Still, some random thoughts (as always, over-the-top with verbosity – sorry guys):
I still pretty much love the idea – just being curious to know the ramifications. Apologies for verbosity … and of course for my limited understanding of how Homebrew works. In some places, I still consider it magic ✨ |
We could remove a couple of lines there. It'd be really easy to do and easy to handle both cases in case they are out-of-sync.
Nope, that's it. |
@MikeMcQuaid Sounds good, thanks! |
I think this answers all of 2., 3., and 4. |
After Homebrew/legacy-homebrew#34732 is merged, cmd folders in taps will always take higher priority. So question 5, 6 and 7 should be resolved. So we only need to ask user to uninstall old version to make system more clean. Or as suggested by question 8 and 9, let brew cask do it automatically. |
@claui thanks for raising all the needed points. @xu-cheng knowing that there are some other relevant pending PRs is useful data. Going back to where we started, this is a new thing, and possibly good for us. But we have a larger userbase than say, homebrew-livecheck, and there are many external scripts which invoke Also, when something goes wrong, GitHub and IRC are flooded with repeats of the same question, and our productivity suffers.
What it needs is for someone to anticipate all the details, work out the transition, and deploy a series of PRs over a period of a few months. |
We’re in talks of merging the two projects, so this would become irrelevant. |
I recommend a new install/update mechanism for this project. Homebrew now allows the external commands living in the
cmd
folder in the taps. So instead of installing by Formula, we can install and update homebrew-cask by this:brew tap caskroom/homebrew-cask
brew update
This simplifies the user experience, reduces the redundant files in the system and makes update much easier (
brew upgrade brew-cask
is no longer needed). However, it requires users to uninstall the old version homebrew-cask to avoid the conflict. You can find more information on homebrew-livecheck who has switched to this new mechanism.The text was updated successfully, but these errors were encountered: