11 ms·
Homebrew 2.0.0 released
- bkanber 8y agoKnow what annoys me about Brew? This just happened last night. I had some package that required readline 7.x; Brew uses readline 8 now. It's not possible to simply command `brew install readline@7`. It took me 30 minutes to figure out that I had to cd into the homebrew-core directory, search through github commit history to find an old commit that used readline 7, checkout that specific commit, brew install readline, checkout master again, and then pin readline. A package manager should not make it that difficult to downgrade a package. Otherwise -- homebrew's great.
- crgwbr 8y agoYou can also brew install with the Github URL of a formula at a specific version. That simplifies the process somewhat, but yeah, it should be much much easier than this.
- frereubu 8y agoPossibly my ignorance talking in terms of what you're trying to achieve, but can't you just do this? brew remove packagename brew install packagename@versionnumber --force --overwrite I've done this with Node so I'm using 10 rather than 11. Edit: my pet gripe with brew is the services syntax. I want to use this: brew services httpd restart Not the existing syntax: brew services restart httpd But in general I'm really thankful that brew exists and it's in active development.
- saagarjha 8y agoThis only works when the maintainers have decided to keep around the old version of the software, which is only done for certain popular formulae. Otherwise they get removed quite quickly from the main tap.
- deleted 8y ago[deleted]
- frereubu 8y agoAh, I see. Thanks for the clarification.
- shaki-dora 8y agoThere are older versions of some, usually larger, libraries n brew, such as node@10. But those are maintained explicitly in cases where some other important package depends on them. “Node@10” is really more of a different package than name@version.
- bkanber 8y agoThe problem with that is, using readline 7 as an example, you need to have had readline 7's image cached on your machine, or it still needs to be 'tappable' or whatever in order to do that. In this case, brew master _only_ had readline 8 available, so if you never had readline 7 installed on your machine, it was inaccessible without bothersome workarounds. In most cases, brew just works. That's great. But it's also used primarily by developers, and I can't imagine this is an uncommon scenario.
- mikemcquaid 8y agoCan't save you your 30m now but `brew extract` should make this process much easier for future. > Usage: brew extract [options] formula tap > Look through repository history to find the most recent version of formula and create a copy in tap/Formula/formula@version.rb. If the tap is not installed yet, attempt to install/clone the tap before continuing.
- ab 8y agoThis is a poor way to handle library upgrades that are guaranteed to break any existing compiled binaries. Frustrating that my PR to create readline@7 was rejected. https://github.com/Homebrew/homebrew-core/pull/36782 https://github.com/Homebrew/homebrew-core/pull/36782 I would at least like to see some mechanism to exclude a Formula from automatic gc of old versions besides brew pin. Libraries don't take up significant space, and they cause a world of hurt to delete out from under compiled binaries, so there is not a good argument for automatically deleting them.
- bhaak 8y agoI would say that a package manager shouldn't break the runtime dependencies of your installed programs. That's really a poor design. But you can also just copy the previous version into the new readline directory. cp /usr/local/Cellar/readline/7.0.5/lib/lib*.7.dylib /usr/local/opt/readline/lib/ Although this will break with the next readline update.
- lastobelus 8y agothis happened to me too. And since brew upgrade now also does cleanup by default, I did not have realine 7 around anymore. No information offerred on how to get it back, just wasted dev time.
- corybrown 8y agoWow, Linux support. I guess that's useful for those times when the OS package manager is out of date? Or is it in order to not run as root?
- misnome 8y agoIt’s very useful when on a remote login where you don’t have root but want more modern software e.g. academic HPC clusters with shared filesystems, which tend to have extremely “conservative” OS versions (we are stuck on RHEL6 for the forseeable future). I’m not aware of much else that fulfills this niche well - conda seems very very tied to precisely tested version combinations, and (from what I remember - tried and had problems) nix seems to want root/system level daemons.
- messe 8y agopkgsrc[1] is portable to most Unix(-like) systems, and can run as a non-privileged user, so that would likely work as well. I'd trust it more than homebrew anyway. [1]: http://pkgsrc.org/ http://pkgsrc.org/
- devzer0 8y ago> I'd trust it more than homebrew anyway. I'm curious why you feel this way.
- kalefranz 8y ago> conda seems very very tied to precisely tested version combinations, and (from what I remember - tried and had problems) Hello. Conda core contributor here. Do you have any more details? Would love to help. We try to keep version constraints among dependencies as loose as possible. We do actively patch dependency metadata over time, putting upper version bounds on dependencies when incompatibilities eventually arise.
- jadbox 8y agoI wouldn't recommend it for Fedora since dnf repos are as updated as brew (if not faster) and dep version conflicts are handled better than almost any package manager out there imho.
- ihuman 8y agoIs there a more verbose explanation about why they’re moving away from compiling packages from source? All the explanations I’ve seen make it sound like that’s the obvious direction it should go, but it’s not obvious to me.
- _em6m 8y agoMaybe ask the question the other way around. Why should they keep compiling everything from source? What are the benefits?
- black-tea 8y agoYou get native binaries, can choose optional features and dependencies and you can easily apply your own choice of patches. That's my view as a gentoo user anyway; I don't know how much of that homebrew actually supports.
- saagarjha 8y agoHomebrew used to support optional features, but is now moving away from this to become a binary package manager.
- ninkendo 8y agoWhat does “native binary” mean?
- michaericalribo 8y agoCompiled locally, so (posssibly) optimized for better performance than a generic binary compiled for your architecture.
- black-tea 8y agoCompilers like GCC can produce code specifically for your CPU such that it uses all of the special features you might have like SSE, AVX etc. When binaries are made for general use they have to be compiled with a generic feature set so might not make best use of your CPU.
- Longhanks 8y agoTerminology is still confusing (for no apparent reason), Homebrew is still extremely slow compared to Linux package managers. Otherwise, I love it and it’s basically the one reason development on macOS is not a major PITA. So thank you to everyone making that possible!
- itwy 8y agoSomeone is about to post how the original author was not hired by Google...
- asaph 8y agoOriginal source: https://twitter.com/mxcl/status/608682016205344768 https://twitter.com/mxcl/status/608682016205344768
- deleted 8y ago[deleted]
- 6ak74rfy 8y agoI love Homebrew, especially since I (recently) realized I could use brew cask to install all my desktop applications. I liked the analytics feature in this release. Just the other day, I was looking at alternatives to official Chromium builds that would auto-update. I stumbled upon freesmug-chromium but didn't know how actively it is used by the community. Now I know.
- dorianm 8y agoI didn't know that was public. It's available at https://formulae.brew.sh/analytics/ https://formulae.brew.sh/analytics/ for anyone curious
- maximegarcia 8y agoI tried to do that for smtg I can't remember. Turns out that it added a lot of deps and compiled the app. I didn't liked it and uninstalled it and brew kept all the deps installed. It seems it misses an "automatically" installed flag in order to remove the deps I didn't have specifically installed myself in the first place. Would be very great for brew to have that. Now I avoid trying new apps through brew. An indication of the formula downloading a pre-built binary or compiling it would be nice too, btw.
- mikemcquaid 8y ago> It seems it misses an "automatically" installed flag in order to remove the deps I didn't have specifically installed myself in the first place. Would be very great for brew to have that. You can use `brew bundle dump` and `brew bundle cleanup` to achieve this (I often do the same).
- h1d 8y agoAutomation is great but you're opening up yourself to a security problem by hoping the manifest file is never tainted when you install or update. I can manage to install and update less than 10 non App Store apps without thinking of getting backdoored binary from slipping in at one time.
- wintorez 8y agoHappy about support for Linux!
- unicornporn 8y agoI spent a year with Ubuntu MATE after over a decade of macOS use. The thing I missed the most was the hassle free installation of packages via brew. This made me very happy. I hope it will work as friction free as brew on macOS.
- hibbelig 8y agoI don't know Ubuntu MATE specifically, and it's been a long time since I used Linux on the desktop, but I'm surprised that "apt install foo" has more friction than "brew install foo". Both work very nicely in my experience. What is the hassle you saw with Ubuntu MATE?
- unicornporn 8y agoEvery app I use is available via brew. A lot of software that I use weren't available via APT so I had to go hunting via snap, flatpak and pip. Suddenly I had four different package managers to maintain and update. Every time I updated Ubuntu it was a mess to update where what repositories to update to. I was never successful in keeping my software up to date without a lot of googling and problem solving and it sucked.
- joemaller1 8y agoI didn't know Windows support was on the roadmap. Homebrew has been a critical piece of my macOS toolkit for nearly a decade but I've been working cross-platform more lately so this could be great for me. But what about Chocolatey?
- Corrado 8y agoThe Windows version only supports Linux apps, not native Windows apps. So it doesn't really replace Chocolatey.
- sn41 8y agoI love brew. But I have heard a lot of complaints against it, and arguments that Nix (and probably Guix) is better. I tried it once, and had a tough time getting my old scripts to find the exact versions. I gave up on Nix. Can someone eli5 why Nix-like approaches are far superior to systems like brew?
- splintah 8y agoNix is just way more reliable than Homebrew, because it does not use system tools, but rather builds the dependencies by itself (including, for example, a C compiler). Furthermore, dependencies will not be overwritten if a different package requires the same dependency, but another version of it, so packages don’t break each other.
- sys_64738 8y agoLove this for WSL. Makes Microsoft Windows 10 even more cool!
- JoelTheSuperior 8y agoMay I ask why? Is apt not sufficient?
- sys_64738 8y agoThink of it like a virtual env in python. You're installing within your own virtual env rather than system wide like apt.
- jancsika 8y agoOSX app bundle is to OSX as ____ is to Linux. Can the blank be filled in? If so I'd love to use Homebrew to manage dependencies on both Linux and OSX. (msys2 has my Windows build covered.)
- syntheticcdo 8y agoFlatpak?
- jchook 8y agoAppImage maybe
- wl 8y agoYou should not use Homebrew. The maintainers are not trustworthy. https://chr4.org/blog/2016/04/26/homebrew-betrayed-us-all-to-google/ https://chr4.org/blog/2016/04/26/homebrew-betrayed-us-all-to...
- Gaelan 8y agoTLDR: they turned on Google Analytics.
- sneak 8y ago...without consent or opt-in.
- coldtea 8y agoBecause most other websites/services ask for consent for their analytics?
- saagarjha 8y ago"Because everyone else does it" isn't a very good excuse.
- sneak 8y agoImportant consideration: homebrew is neither a website nor a service. It is a local software, a package manager, and quietly enabling phone-home analytics in an update after previously not doing such has a different threshold for “informed consent”.
- Hackbraten 8y agoHow exactly is Homebrew not a service? We donate hours of work each week in an honest effort to make the best package manager we can for our users. Analytics help us decide how to prioritize our work. It’s also literally the opposite of quietly enabled [1] [2]. [1] https://github.com/Homebrew/brew/blob/e32c1515432a938093d5ef1d8c4b4408991873df/Library/Homebrew/cmd/update-report.rb#L53-L62 https://github.com/Homebrew/brew/blob/e32c1515432a938093d5ef... [2] https://docs.brew.sh/Analytics https://docs.brew.sh/Analytics
- mishurov 8y agoIt's for Apple consumerist soyboys for monkeying true techies and for persuading everyone that their toddler OS is a Unix - in the same way as Android is a Linux. Who wants to use a normal package management system uses FreeBSD or Linux.
- nisuni 8y agoRemember that Homebrew uses Google Analytics by default unless you explicitly disable it.
- Someone 8y agoInfo at https://docs.brew.sh/Analytics https://docs.brew.sh/Analytics. To disable it, do either of export HOMEBREW_NO_ANALYTICS=1 or brew analytics off
- aboutruby 8y agoIsn't this punishable by GDPR?
- Hackbraten 8y agoIANAL but I believe no personal information is involved.
- dilap 8y agoPerfect timing, as I'm setting up a new box today. Homebrew is great. Also really appreciate the inclusion of reasoning behind changes in the release notes.
- ComputerGuru 8y agoThe argument over the removal of options in this thread [0] is brutal. Very intentionally user-hostile move, repeatedly disguised as being in their overall interest. It left me not feeling very good about the direction the project is taking. [0]: https://github.com/Homebrew/homebrew-core/issues/31510 https://github.com/Homebrew/homebrew-core/issues/31510
- Hamuko 8y agoJust don't say how it's a user-hostile move and that you don't feel confident about how Homebrew development is handled, since you will be blocked from accessing the Github repositories.
- SZJX 8y agoSo far the Homebrew experience has been better for me than any other Linux distribution's package manager, except for Arch, which is still unparalleled. The biggest problem of Homebrew is how incredibly slow it is, though I guess this will stay for a long time unless a fundamental overhaul takes place.
- cr3ative 8y agoIt's a shame it still doesn't play well with more than one user on a system trying to install packages. I have a work user and a personal user on my laptop. Brew won't let me use both at the same time without getting my hands dirty with creating groups, and even then it's not supported behaviour.
- ariabuckles 8y agoI ended up creating a homebrew user and giving my personal user sudo access to the homebrew user, which has seemed to work well so far (I may have had to give group read/execute access to all of /usr/local though)
- Hackbraten 8y agoThanks for the tip, I didn’t think of that! I need to use Homebrew from two different users, too. Definitely going to try this.