brew bundle install with tap & root-level formula in that tap reports failure but succeeds
### `brew doctor` output
```shell
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!
Warning: Your Xcode (26.1.1) is outdated.
Please update to Xcode 26.3 (or delete it).
Xcode can be updated from the App Store.
This is a Tier 2 configuration:
https://docs.brew.sh/Support-Tiers#tier-2
You can report issues with Tier 2 configurations to Homebrew/* repositories!
Read the above document before opening any issues or PRs.
```
I have also reproduced this on a machine with no warnings from `brew doctor`, this is just the output I have the easiest access to copy-paste
### Verification
- [x] I ran `brew update` twice and am still able to reproduce my issue.
- [x] My "`brew doctor` output" above says `Your system is ready to brew` or a definitely unrelated `Tier` message.
- [x] This issue's title and/or description do not reference a single formula e.g. `brew install wget`. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.
### `brew config` output
```shell
HOMEBREW_VERSION: 6.0.0
ORIGIN: https://github.com/Homebrew/brew
HEAD: 3d9e344622974a7f96da927fd0407e08581eb437
Last commit: 8 hours ago
Branch: stable
Core tap: N/A
Core cask tap: N/A
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_DOWNLOAD_CONCURRENCY: 24
HOMEBREW_FORBID_PACKAGES_FROM_PATHS: set
HOMEBREW_MAKE_JOBS: 12
HOMEBREW_REQUIRE_TAP_TRUST: set
Homebrew Ruby: 4.0.5 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/4.0.5_1/bin/ruby
CPU: dodeca-core 64-bit arm_brava
Clang: 17.0.0 build 1700
Git: 2.50.1 => /Applications/Xcode.app/Contents/Developer/usr/bin/git
Curl: 8.7.1 => /usr/bin/curl
macOS: 26.5-arm64
CLT: 26.5.0.0.1777544298
Xcode: 26.1.1
Metal Toolchain: N/A
Rosetta 2: false
```
### What were you trying to do (and why)?
I'm attempting to set up a `Brewfile` for reproducible installation of development environments, and I need to be able to install packages from third-party taps. One of the taps in question has its formulas at the root directory of the repo. Attempting to do so as of Homebrew 6 now experiences an error.
### What happened (include all command output)?
`brew bundle install` reports 3 warnings, a failure, and exits with a non-zero status code. However, the installation is actually successful and on a re-run there is nothing to be done
```
❯ brew bundle install
Warning: 'metalbear-co/mirrord/mirrord' formula is unreadable: No available formula with the name "metalbear-co/mirrord/mirrord".
This command requires the tap metalbear-co/mirrord.
If you trust this tap, tap it explicitly and then try again:
brew tap metalbear-co/mirrord
Warning: 'metalbear-co/mirrord/mirrord' formula is unreadable: No available formula with the name "metalbear-co/mirrord/mirrord".
This command requires the tap metalbear-co/mirrord.
If you trust this tap, tap it explicitly and then try again:
brew tap metalbear-co/mirrord
Tapping metalbear-co/mirrord
Installing metalbear-co/mirrord/mirrord
Warning: 'metalbear-co/mirrord/mirrord' formula is unreadable: No available formula with the name "metalbear-co/mirrord/mirrord".
Installing metalbear-co/mirrord/mirrord has failed!
`brew bundle` failed! 1 Brewfile dependency failed to install
~/Desktop
❯ brew list | grep mirrord
mirrord
~/Desktop
❯ brew bundle install
Using metalbear-co/mirrord
Using metalbear-co/mirrord/mirrord
`brew bundle` complete! 2 Brewfile dependencies now installed.
```
### What did you expect to happen?
I'd expect:
- No errors to be logged, as the Brewfile is tapping & trusting the tap
- The command to exit with no error and a 0 status code, as it actually installed successfully
Alternatively, if root-level formulas are not supported I'd expect it to error out entirely, rather than installing successfully
### Step-by-step reproduction instructions (by running `brew` commands)
Write the following to a Brewfile (origin provided because of #22668):
```ruby
tap "metalbear-co/mirrord", "https://github.com/metalbear-co/homebrew-mirrord", trusted: true
brew "metalbear-co/mirrord/mirrord", trusted: true
```
Install the brewfile with `brew bundle install`
It will report 3 warning, a failure, and exit with a non-zero status, but will have successfully installed the tap and the formula
1 条评论