3 ms·
That is incorrect. Brew will do random upgrades when running `brew install` unless you set the non-default `HOMEBREW_NO_AUTO_UPDATE=1` [1] so every now and then
by NicolaiS 6y ago
That is incorrect. Brew will do random upgrades when running `brew install` unless you set the non-default `HOMEBREW_NO_AUTO_UPDATE=1` [1] so every now and then when you brew install something it will e.g. upgrade the python binary from 3.x => 3.(x+1) and break all virtualenvs using symlinks.
Python is just one example, I've spend countless time fixing random broken packages due to the unpredictability of `brew install`.
[1] https://github.com/Homebrew/brew/issues/1670 https://github.com/Homebrew/brew/issues/1670
- jacobsenscott 6y agoThis is just a misunderstanding of how brew works. Brew is doing what it is designed to do. Your assumptions are that brew should be able to "pin" a package to an exact version, or that it is selecting packages at random to upgrade, but those assumptions are wrong. https://docs.brew.sh/FAQ#why-does-brew-upgrade-formula-also-upgrade-a-bunch-of-other-stuff https://docs.brew.sh/FAQ#why-does-brew-upgrade-formula-also-... However brew does support your use case, but it take some extra effort. If you want to use brew to install an exact version of python you need to create a tap: https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap https://docs.brew.sh/How-to-Create-and-Maintain-a-Tap Also, you aren't forced to use brew to install that version of python. You can do so yourself using the standard make; make install. It would be best to install it under /opt. Or use any other available method of installing software on your mac.