A package manager should not make it that difficult to downgrade a package.
Otherwise -- homebrew's great.
A package manager should not make it that difficult to downgrade a package.
Otherwise -- homebrew's great.
> 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.
Frustrating that my PR to create readline@7 was rejected. 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.
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.
Otherwise the dependency management in Homebrew is even worse than I knew.
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.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.