Requirements
macOS 15 (Sequoia) or later
Section titled “macOS 15 (Sequoia) or later”This is a hard floor, not a recommendation. rexenv ships pinned builds of nginx and cloudflared that will not launch below macOS 15 — on an older Mac the app installs and then cannot run its own web server.
Intel or Apple Silicon
Section titled “Intel or Apple Silicon”One universal build runs natively on both. There is no separate download to choose and no Rosetta involved.
An internet connection on first run
Section titled “An internet connection on first run”rexenv does not bundle its stack. It downloads each component — PHP, nginx, Caddy, MySQL, Mailpit and the rest — the first time you actually use it, verifies it against a pinned checksum, and prepares it for macOS.
Budget up to ~600MB across a full cold start, spread over your first few actions rather than taken all at once. After that rexenv works offline; nothing re-downloads unless you add a component you have not used before.
The reason it works this way rather than shipping a 600MB app: you get seven PHP versions, four database engines and three web servers available on demand, and you only pay for the ones you touch.
Plan on 2–4GB for a working setup: the app itself is small, the downloaded components are
most of it, and your sites and databases sit alongside them under
~/Library/Application Support/dev.rexenv.rexenv/.
rexenv binds 80 and 443 for the edge proxy, and a set of high ports for everything else — deliberately offset from the usual defaults so it never collides with a MySQL, Mailpit or nginx you already run.
If something else already holds 80 or 443, rexenv tells you what is holding it rather than
failing quietly. rex doctor reports the same from a terminal.
What it does not need
Section titled “What it does not need”- No Docker, no VM, no Homebrew installation of the stack itself.
- No
/etc/hostsediting. A DNS resolver handles*.rexfor you. - No Xcode. Everything ships as a prebuilt binary.