geerlingguy / geerlingguy/mac-dev-playbook
"Ensure configured homebrew packages are installed." task fails on MacBook Pro M5 Tahoe 26.6.1
- Dominant language
- Shell
- Stars
- 7k
- Forks
- 1.9k
- PR merge metrics
- No merged PRs in 30d
Description
Hi,🙂 we are trying to fresh setup our new M5 MacBook Pros. This playbook will be the basis for our machines. Thank you!
During the ansible-playbook, the "Ensure configured homebrew packages are installed." task fails. I can't make sense of the error message.
Do you have any ideas?
Cheers
Wolf
```
ansible-playbook main.yml --ask-become-pass
(...)
TASK [geerlingguy.mac.homebrew : Ensure configured homebrew packages are installed.] ***********************************
failed: [127.0.0.1] (item=autoconf) =>
ansible_loop_var: item
changed: false
item: autoconf
msg: |-
✔︎ Bottle Manifest m4 (1.4.21)
✔︎ Bottle autoconf (2.73)
✔︎ Bottle m4 (1.4.21)
failed: [127.0.0.1] (item=bash-completion) =>
ansible_loop_var: item
changed: false
item: bash-completion
msg: ✔︎ Bottle bash-completion (1.3_3)
failed: [127.0.0.1] (item=doxygen) =>
ansible_loop_var: item
changed: false
item: doxygen
msg: |-
✔︎ Bottle Manifest fmt (12.2.0)
✔︎ Bottle Manifest spdlog (1.17.0)
✔︎ Bottle fmt (12.2.0)
✔︎ Bottle spdlog (1.17.0)
✔︎ Bottle doxygen (1.17.0)
failed: [127.0.0.1] (item=gettext) =>
ansible_loop_var: item
changed: false
item: gettext
msg: |-
✔︎ Bottle Manifest json-c (0.19)
✔︎ Bottle Manifest libunistring (1.4.2)
✔︎ Bottle json-c (0.19)
✔︎ Bottle libunistring (1.4.2)
✔︎ Bottle gettext (1.0)
failed: [127.0.0.1] (item=gifsicle) =>
ansible_loop_var: item
changed: false
item: gifsicle
msg: ✔︎ Bottle gifsicle (1.96)
failed: [127.0.0.1] (item=git) =>
ansible_loop_var: item
changed: false
item: git
msg: |-
✔︎ Bottle Manifest pcre2 (10.47_1)
✔︎ Bottle pcre2 (10.47_1)
✔︎ Bottle git (2.55.0)
failed: [127.0.0.1] (item=gh) =>
ansible_loop_var: item
changed: false
item: gh
msg: ✔︎ Bottle gh (2.97.0)
failed: [127.0.0.1] (item=go) =>
ansible_loop_var: item
changed: false
item: go
msg: ✔︎ Bottle go (1.26.5)
failed: [127.0.0.1] (item=gpg) =>
ansible_loop_var: item
changed: false
item: gpg
msg: |-
✔︎ Bottle Manifest ca-certificates (2026-07-16)
✔︎ Bottle Manifest libtasn1 (4.21.0)
✔︎ Bottle Manifest gmp (6.3.0)
✔︎ Bottle Manifest libidn2 (2.3.8)
✔︎ Bottle Manifest nettle (4.0)
✔︎ Bottle Manifest p11-kit (0.26.5)
✔︎ Bottle Manifest libgpg-error (1.61)
✔︎ Bottle Manifest libassuan (3.0.2)
✔︎ Bottle gmp (6.3.0)
✔︎ Bottle libtasn1 (4.21.0)
✔︎ Bottle libidn2 (2.3.8)
✔︎ Bottle nettle (4.0)
✔︎ Bottle Manifest gnutls (3.8.13_2)
✔︎ Bottle ca-certificates (2026-07-16)
✔︎ Bottle Manifest libksba (1.8.0)
✔︎ Bottle Manifest libusb (1.0.30)
✔︎ Bottle Manifest npth (1.8)
✔︎ Bottle p11-kit (0.26.5)
✔︎ Bottle Manifest pinentry (1.3.3)
✔︎ Bottle npth (1.8)
✔︎ Bottle libksba (1.8.0)
✔︎ Bottle libassuan (3.0.2)
✔︎ Bottle pinentry (1.3.3)
✔︎ Bottle libgpg-error (1.61)
✔︎ Bottle libusb (1.0.30)
✔︎ Bottle gnutls (3.8.13_2)
✔︎ Bottle Manifest libgcrypt (1.12.2)
✔︎ Bottle libgcrypt (1.12.2)
✔︎ Bottle readline (8.3.3)
✔︎ Bottle gnupg (2.5.21)
✔︎ Bottle Manifest readline (8.3.3)
failed: [127.0.0.1] (item=httpie) =>
ansible_loop_var: item
changed: false
item: httpie
msg: |-
✔︎ Bottle Manifest mpdecimal (4.0.1)
✔︎ Bottle Manifest xz (5.8.3)
✔︎ Bottle Manifest openssl@3 (3.6.3)
✔︎ Bottle Manifest certifi (2026.7.22)
✔︎ Bottle Manifest lz4 (1.10.0)
✔︎ Bottle Manifest zstd (1.5.7_1)
✔︎ Bottle Manifest sqlite (3.53.4)
✔︎ Bottle Manifest python@3.14 (3.14.6)
✔︎ Bottle certifi (2026.7.22)
✔︎ Bottle mpdecimal (4.0.1)
✔︎ Bottle lz4 (1.10.0)
✔︎ Bottle zstd (1.5.7_1)
✔︎ Bottle xz (5.8.3)
✔︎ Bottle httpie (3.2.4_11)
✔︎ Bottle sqlite (3.53.4)
✔︎ Bottle python@3.14 (3.14.6)
✔︎ Bottle openssl@3 (3.6.3)
failed: [127.0.0.1] (item=iperf) =>
ansible_loop_var: item
changed: false
item: iperf
msg: ✔︎ Bottle iperf (2.2.1)
failed: [127.0.0.1] (item=libevent) =>
ansible_loop_var: item
changed: false
item: libevent
msg: ✔︎ Bottle libevent (2.1.13)
failed: [127.0.0.1] (item=sqlite) =>
ansible_loop_var: item
changed: false
item: sqlite
msg: |-
Warning: sqlite 3.53.4 is already installed and up-to-date.
To reinstall 3.53.4, run:
brew reinstall sqlite
failed: [127.0.0.1] (item=nmap) =>
ansible_loop_var: item
changed: false
item: nmap
msg: |-
✔︎ Bottle Manifest lua (5.5.1)
✔︎ Bottle Manifest libssh2 (1.11.1_4)
✔︎ Bottle lua (5.5.1)
✔︎ Bottle liblinear (2.50)
✔︎ Bottle libssh2 (1.11.1_4)
✔︎ Bottle nmap (7.991)
✔︎ Bottle Manifest liblinear (2.50)
failed: [127.0.0.1] (item=node) =>
ansible_loop_var: item
changed: false
item: node
msg: |-
✔︎ Bottle Manifest ada-url (4.0.0)
✔︎ Bottle Manifest brotli (1.2.0)
✔︎ Bottle Manifest c-ares (1.34.8)
✔︎ Bottle Manifest icu4c@78 (78.3)
✔︎ Bottle Manifest libnghttp3 (1.18.0)
✔︎ Bottle Manifest libffi (3.8.0)
✔︎ Bottle Manifest libnghttp2 (1.70.0)
✔︎ Bottle Manifest libngtcp2 (1.25.0)
✔︎ Bottle Manifest llhttp (9.4.3)
✔︎ Bottle Manifest hdrhistogram_c (0.11.10)
✔︎ Bottle Manifest merve (1.2.2_1)
✔︎ Bottle libnghttp3 (1.18.0)
✔︎ Bottle hdrhistogram_c (0.11.10)
✔︎ Bottle libngtcp2 (1.25.0)
✔︎ Bottle libffi (3.8.0)
✔︎ Bottle Manifest simdjson (4.6.6)
✔︎ Bottle c-ares (1.34.8)
✔︎ Bottle libnghttp2 (1.70.0)
✔︎ Bottle Manifest simdutf (9.0.0)
✔︎ Bottle llhttp (9.4.3)
✔︎ Bottle Manifest nbytes (0.1.4)
✔︎ Bottle ada-url (4.0.0)
✔︎ Bottle brotli (1.2.0)
✔︎ Bottle Manifest uvwasi (0.0.23)
✔︎ Bottle nbytes (0.1.4)
✔︎ Bottle merve (1.2.2_1)
✔︎ Bottle simdutf (9.0.0)
✔︎ Bottle libuv (1.52.1)
✔︎ Bottle Manifest libuv (1.52.1)
✔︎ Bottle uvwasi (0.0.23)
✔︎ Bottle simdjson (4.6.6)
✔︎ Bottle node (26.7.0)
✔︎ Bottle icu4c@78 (78.3)
failed: [127.0.0.1] (item=nvm) =>
ansible_loop_var: item
changed: false
item: nvm
msg: ✔︎ Bottle nvm (0.40.6)
failed: [127.0.0.1] (item=php) =>
ansible_loop_var: item
changed: false
item: php
msg: |-
✔︎ Bottle Manifest apr-util (1.6.4)
✔︎ Bottle Manifest libpsl (0.23.1)
✔︎ Bottle Manifest argon2 (20190702_1)
✔︎ Bottle Manifest apr (1.7.6)
✔︎ Bottle Manifest curl (8.21.0)
✔︎ Bottle Manifest libtool (2.6.2)
✔︎ Bottle Manifest unixodbc (2.3.14)
✔︎ Bottle Manifest freetds (1.5.18)
✔︎ Bottle Manifest libpng (1.6.58)
✔︎ Bottle Manifest freetype (2.14.3)
✔︎ Bottle Manifest jpeg-turbo (3.2.0)
✔︎ Bottle Manifest libvmaf (3.2.0)
✔︎ Bottle Manifest aom (3.14.1)
✔︎ Bottle libpsl (0.23.1)
✔︎ Bottle Manifest fontconfig (2.18.3)
✔︎ Bottle Manifest dav1d (1.5.4)
✔︎ Bottle apr (1.7.6)
✔︎ Bottle apr-util (1.6.4)
✔︎ Bottle Manifest giflib (6.1.3)
✔︎ Bottle Manifest libavif (1.4.2)
✔︎ Bottle Manifest libtiff (4.7.2)
✔︎ Bottle freetype (2.14.3)
✔︎ Bottle Manifest webp (1.6.0)
✔︎ Bottle Manifest gd (2.3.3_6)
✔︎ Bottle Manifest krb5 (1.22.2)
✔︎ Bottle libpng (1.6.58)
✔︎ Bottle Manifest libpq (18.4)
✔︎ Bottle giflib (6.1.3)
✔︎ Bottle Manifest net-snmp (5.9.5.2)
✔︎ Bottle unixodbc (2.3.14)
✔︎ Bottle fontconfig (2.18.3)
✔︎ Bottle Manifest libsodium (1.0.22)
✔︎ Bottle libtool (2.6.2)
✔︎ Bottle Manifest oniguruma (6.9.10)
✔︎ Bottle libavif (1.4.2)
✔︎ Bottle webp (1.6.0)
✔︎ Bottle Manifest libzip (1.11.4_1)
✔︎ Bottle dav1d (1.5.4)
✔︎ Bottle jpeg-turbo (3.2.0)
✔︎ Bottle argon2 (20190702_1)
✔︎ Bottle libvmaf (3.2.0)
✔︎ Bottle gd (2.3.3_6)
✔︎ Bottle Manifest tidy-html5 (5.8.0)
✔︎ Bottle Manifest openldap (2.7.0)
✔︎ Bottle curl (8.21.0)
✔︎ Bottle libzip (1.11.4_1)
✔︎ Bottle krb5 (1.22.2)
✔︎ Bottle libtiff (4.7.2)
✔︎ Bottle libsodium (1.0.22)
✔︎ Bottle oniguruma (6.9.10)
✔︎ Bottle tidy-html5 (5.8.0)
✔︎ Bottle net-snmp (5.9.5.2)
✔︎ Bottle openldap (2.7.0)
✔︎ Bottle freetds (1.5.18)
✔︎ Bottle aom (3.14.1)
✔︎ Bottle libpq (18.4)
✔︎ Bottle php (8.5.9)
failed: [127.0.0.1] (item=pngpaste) =>
ansible_loop_var: item
changed: false
item: pngpaste
msg: ✔︎ Bottle pngpaste (0.2.3)
failed: [127.0.0.1] (item=ssh-copy-id) =>
ansible_loop_var: item
changed: false
item: ssh-copy-id
msg: ✔︎ Bottle ssh-copy-id (10.4p1)
failed: [127.0.0.1] (item=readline) =>
ansible_loop_var: item
changed: false
item: readline
msg: |-
Warning: readline 8.3.3 is already installed and up-to-date.
To reinstall 8.3.3, run:
brew reinstall readline
failed: [127.0.0.1] (item=openssl) =>
ansible_loop_var: item
changed: false
item: openssl
msg: |-
Warning: openssl@3 3.6.3 is already installed and up-to-date.
To reinstall 3.6.3, run:
brew reinstall openssl@3
failed: [127.0.0.1] (item=pv) =>
ansible_loop_var: item
changed: false
item: pv
msg: ✔︎ Bottle pv (1.11.0)
failed: [127.0.0.1] (item=wget) =>
ansible_loop_var: item
changed: false
item: wget
msg: ✔︎ Bottle wget (1.25.0)
failed: [127.0.0.1] (item=wrk) =>
ansible_loop_var: item
changed: false
item: wrk
msg: |-
✔︎ Bottle Manifest openssl@4 (4.0.1)
✔︎ Bottle Manifest luajit (2.1.1785763465)
✔︎ Bottle wrk (4.2.0_2)
✔︎ Bottle luajit (2.1.1785763465)
✔︎ Bottle openssl@4 (4.0.1)
failed: [127.0.0.1] (item=zsh-history-substring-search) =>
ansible_loop_var: item
changed: false
item: zsh-history-substring-search
msg: ✔︎ Bottle zsh-history-substring-search (1.1.0)
PLAY RECAP *************************************************************************************************************
127.0.0.1 : ok=17 changed=7 unreachable=0 failed=1 skipped=16 rescued=0 ignored=0
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with main.yml and the “Ensure configured homebrew packages are installed.” task, then reproduce the failure on a MacBook Pro M5 running Tahoe 26.6.1. Compare the task result with direct Homebrew installation output and determine why successful bottle messages are reported as failures; done means the playbook completes successfully with the configured packages installed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- macos
- Domain
- devops
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100