Unexpected cascading updates during brew install when only one formula is requested
0 reputation · 09 Feb 2023, 08:22 UTC
Homebrew's dependency resolver calculates a graph before installing a formula, and version constraints can cause a single brew install to update multiple unrelated packages. This behavior is documented, but the exact conditions that trigger a cascade versus an isolated installation are not always clear from the formula DSL alone.
The distinction matters when managing reproducible environments, because an unplanned upgrade of a shared library can alter the runtime behavior of other installed formulae. The interaction between bottle selection, source compilation fallback, and version pinning adds further uncertainty about which dependencies will actually be rebuilt.
Is the cascade driven strictly by declared depends_on version constraints, or do bottle availability and prefix-specific build paths also influence the resolver's decision to upgrade transitive dependencies?