Closed ELLIOTTCABLE closed 3 hours ago
Sorry, passing on this. This is intentional behaviour. Homebrew has no concept of leaves: only things installed on request or as dependencies. As mentioned previously: dependencies that are installed on request must be dumped earlier because they will be installed earlier and otherwise the error messages if they fail to install are unnecessarily confusing.
Especially because there's no differentiation in the file between what was a leaf, and what was not; so that metadata is lost upon installation to a new system
This metadata was never stored. What is installed on request, however, is not lost: it will still be installed on request on a new system and installed as a dependency when not specified in the Brewfile.
This metadata was never stored. What is installed on request, however, is not lost: it will still be installed on request on a new system and installed as a dependency when not specified in the Brewfile.
Wait, I'm confused; it's not lost?
As in, if I run one of the new brewfiles (that includes, say, brew "aom"
before brew "imagemagick"
) on a new system, then brew leaves --installed-on-request
won't print "aom"
? Because that's my primary concern, polluting of the 'installed on request' list, which is a pretty crucial resource when working across a lot of languages, stacks, and projects, across multiple machines. 😅
This was brought up previously, but closed, due to it not actually being a behaviour at the time. However, since then, it appears to be have been added as an intentional behaviour (i.e.
brew bundle dump
is currently including packages that do not appear inbrew leaves
- in fact, they're sorted non-alphabetically, before their leaf dependants, so it's pretty clear it's an intentional process.)It'd be nice to be able to disable this behaviour optionally. Especially because there's no differentiation in the file between what was a leaf, and what was not; so that metadata is lost upon installation to a new system (or just ... existing for a couple of years, and forgetting what you've installed and why. 😅)