Use brew to install homebrew-cloudflare/curl, everything looks fine until an error jump out.
$ brew install cloudflare/homebrew-cloudflare/curl
HOMEBREW_BREW_GIT_REMOTE set: using https://mirrors.aliyun.com/homebrew/brew.git as the Homebrew/brew Git remote.
==> Auto-updating Homebrew...
Adjust how often this is run with `$HOMEBREW_AUTO_UPDATE_SECS` or disable with
`$HOMEBREW_NO_AUTO_UPDATE=1`. Hide these hints with `$HOMEBREW_NO_ENV_HINTS=1` (see `man brew`).
INFO[2026-05-16 14:20:45] Running git hook hook=post-checkout
==> Fetching downloads for: curl
✔︎ Bottle ca-certificates (2025-05-20) Downloaded 129.4KB/129.4KB
✔︎ Bottle readline (8.2.13) Downloaded 590.9KB/590.9KB
✔︎ Bottle brotli (1.1.0) Downloaded 749.5KB/749.5KB
✔︎ Bottle rtmpdump (2.4-20151223_3) Downloaded 182.2KB/182.2KB
✔︎ Bottle lz4 (1.10.0) Downloaded 276.1KB/276.1KB
✔︎ Bottle pkgconf (2.4.3) Downloaded 116.8KB/116.8KB
✔︎ Bottle xz (5.8.1) Downloaded 748.1KB/748.1KB
✔︎ Bottle libssh2 (1.11.1) Downloaded 423.6KB/423.6KB
✔︎ Bottle mpdecimal (4.0.1) Downloaded 185.7KB/185.7KB
✔︎ Bottle libgit2 (1.9.0) Downloaded 2.0MB/ 2.0MB
✔︎ Bottle libidn2 (2.3.8) Downloaded 311.6KB/311.6KB
✔︎ Bottle openldap (2.6.9) Downloaded 2.9MB/ 2.9MB
✔︎ Bottle sqlite (3.49.2) Downloaded 2.3MB/ 2.3MB
✔︎ Bottle z3 (4.15.0) Downloaded 13.2MB/ 13.2MB
✔︎ Bottle libunistring (1.3) Downloaded 1.8MB/ 1.8MB
✔︎ Bottle zstd (1.5.7) Downloaded 785.5KB/785.5KB
✔︎ Bottle libnghttp2 (1.65.0) Downloaded 218.6KB/218.6KB
✔︎ Formula curl (8.12.1) Verified 3.2MB/ 3.2MB
✔︎ Bottle gettext (0.25) Downloaded 9.4MB/ 9.4MB
✔︎ Resource curl--quiche Extracting 17.8MB/ 17.8MB
✔︎ Bottle cmake (4.0.2) Downloaded 17.8MB/ 17.8MB
✔︎ Bottle python@3.13 (3.13.3_1) Downloaded 18.0MB/ 18.0MB
✔︎ Bottle openssl@3 (3.5.0) Downloaded 10.7MB/ 10.7MB
✔︎ Bottle rust (1.87.0) Downloaded 98.2MB/ 98.2MB
✔︎ Bottle llvm (20.1.5) Downloaded 426.4MB/426.4MB
==> Installing curl from cloudflare/cloudflare
Warning: Your Xcode (26.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.
==> Installing dependencies for cloudflare/cloudflare/curl: cmake, pkgconf, ca-certificates, openssl@3, libssh2, libgit2, mpdecimal, readline, sqlite, xz, python@3.13, z3, lz4, zstd, llvm, rust, brotli, libunistring, gettext, libidn2, libnghttp2, openldap and rtmpdump
==> Installing cloudflare/cloudflare/curl dependency: cmake
==> Pouring cmake-4.0.2.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/cmake/4.0.2: 3,870 files, 60.1MB
==> Installing cloudflare/cloudflare/curl dependency: pkgconf
==> Pouring pkgconf-2.4.3.arm64_sequoia.bottle.1.tar.gz
🍺 /opt/homebrew/Cellar/pkgconf/2.4.3: 27 files, 497.0KB
==> Installing cloudflare/cloudflare/curl dependency: ca-certificates
==> Pouring ca-certificates-2025-05-20.all.bottle.tar.gz
==> Regenerating CA certificate bundle from keychain, this may take a while...
Warning: The post-install step did not complete successfully
You can try again using:
brew postinstall ca-certificates
==> Summary
🍺 /opt/homebrew/Cellar/ca-certificates/2025-05-20: 4 files, 231.2KB
==> Installing cloudflare/cloudflare/curl dependency: openssl@3
==> Pouring openssl@3-3.5.0.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/openssl@3/3.5.0: 7,563 files, 37MB
==> Installing cloudflare/cloudflare/curl dependency: libssh2
==> Pouring libssh2-1.11.1.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/libssh2/1.11.1: 201 files, 1.3MB
==> Installing cloudflare/cloudflare/curl dependency: libgit2
==> Pouring libgit2-1.9.0.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/libgit2/1.9.0: 109 files, 5.1MB
==> Installing cloudflare/cloudflare/curl dependency: mpdecimal
==> Pouring mpdecimal-4.0.1.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/mpdecimal/4.0.1: 22 files, 658.7KB
==> Installing cloudflare/cloudflare/curl dependency: readline
==> Pouring readline-8.2.13.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/readline/8.2.13: 51 files, 1.8MB
==> Installing cloudflare/cloudflare/curl dependency: sqlite
==> Pouring sqlite-3.49.2.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/sqlite/3.49.2: 13 files, 5.0MB
==> Installing cloudflare/cloudflare/curl dependency: xz
==> Pouring xz-5.8.1.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/xz/5.8.1: 96 files, 2.6MB
==> Installing cloudflare/cloudflare/curl dependency: python@3.13
==> Pouring python@3.13-3.13.3_1.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/python@3.13/3.13.3_1: 3,600 files, 69.8MB
==> Installing cloudflare/cloudflare/curl dependency: z3
==> Pouring z3-4.15.0.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/z3/4.15.0: 120 files, 33.9MB
==> Installing cloudflare/cloudflare/curl dependency: lz4
==> Pouring lz4-1.10.0.arm64_sequoia.bottle.1.tar.gz
🍺 /opt/homebrew/Cellar/lz4/1.10.0: 24 files, 728.9KB
==> Installing cloudflare/cloudflare/curl dependency: zstd
==> Pouring zstd-1.5.7.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/zstd/1.5.7: 32 files, 2.3MB
==> Installing cloudflare/cloudflare/curl dependency: llvm
==> Pouring llvm-20.1.5.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/llvm/20.1.5: 9,417 files, 1.7GB
==> Installing cloudflare/cloudflare/curl dependency: rust
==> Pouring rust-1.87.0.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/rust/1.87.0: 3,712 files, 346.1MB
==> Installing cloudflare/cloudflare/curl dependency: brotli
==> Pouring brotli-1.1.0.arm64_sequoia.bottle.2.tar.gz
🍺 /opt/homebrew/Cellar/brotli/1.1.0: 28 files, 1.8MB
==> Installing cloudflare/cloudflare/curl dependency: libunistring
==> Pouring libunistring-1.3.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/libunistring/1.3: 59 files, 5.7MB
==> Installing cloudflare/cloudflare/curl dependency: gettext
==> Pouring gettext-0.25.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/gettext/0.25: 2,418 files, 28.9MB
==> Installing cloudflare/cloudflare/curl dependency: libidn2
==> Pouring libidn2-2.3.8.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/libidn2/2.3.8: 80 files, 946.9KB
==> Installing cloudflare/cloudflare/curl dependency: libnghttp2
==> Pouring libnghttp2-1.65.0.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/libnghttp2/1.65.0: 14 files, 783.5KB
==> Installing cloudflare/cloudflare/curl dependency: openldap
==> Pouring openldap-2.6.9.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/openldap/2.6.9: 342 files, 8.1MB
==> Installing cloudflare/cloudflare/curl dependency: rtmpdump
==> Pouring rtmpdump-2.4-20151223_3.arm64_sequoia.bottle.tar.gz
🍺 /opt/homebrew/Cellar/rtmpdump/2.4-20151223_3: 21 files, 665.2KB
==> Installing cloudflare/cloudflare/curl
==> cargo build --release --package=quiche --features=ffi,pkg-config-meta,qlog
Last 15 lines from /Users/freyrlin/Library/Logs/Homebrew/curl/01.cargo.log:
Adding time-macros v0.2.27 (requires Rust 1.88.0)
Adding tonic v0.14.6 (requires Rust 1.88)
Adding tonic-prost v0.14.6 (requires Rust 1.88)
Adding wasm-streams v0.4.2 (available: v0.5.0)
Adding windows-sys v0.59.0 (available: v0.61.2)
error: rustc 1.87.0 is not supported by the following packages:
darling@0.23.0 requires rustc 1.88.0
darling_core@0.23.0 requires rustc 1.88.0
darling_macro@0.23.0 requires rustc 1.88.0
quiche@0.29.0 requires rustc 1.88
quiche@0.29.0 requires rustc 1.88
quiche@0.29.0 requires rustc 1.88
serde_with@3.20.0 requires rustc 1.88
serde_with_macros@3.20.0 requires rustc 1.88
If reporting this issue please do so at (not Homebrew/* repositories):
https://github.com/cloudflare/homebrew-cloudflare/issues
These open issues may also help:
Support ECH in curl https://github.com/cloudflare/homebrew-cloudflare/issues/88
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.
Use brew to install homebrew-cloudflare/curl, everything looks fine until an error jump out.