Port 80 or 443 is in use
rexenv names what is holding a port rather than reporting a generic failure to start. From a terminal:
rex doctorFind the holder yourself
Section titled “Find the holder yourself”sudo lsof -nP -iTCP:443 -sTCP:LISTENsudo lsof -nP -iTCP:80 -sTCP:LISTENsudo matters here: without it you will not see processes owned by root, and the thing
holding 443 is usually owned by root.
The usual suspects
Section titled “The usual suspects”| What | How to stop it |
|---|---|
| Homebrew nginx | sudo brew services stop nginx |
| Homebrew httpd | sudo brew services stop httpd |
| Laravel Valet | valet stop |
| Herd | Quit it from the menu bar |
| Docker publishing 80/443 | Stop the container or remap its ports |
| macOS Web Sharing | System Settings → Sharing |
“Nothing is on :443”
Section titled ““Nothing is on :443””A different problem with the same-looking symptom: nothing is holding the port, rexenv just is not serving yet. Start all in the app, or:
rex startThe two cases are told apart on purpose, because sending someone hunting for a program that is not running is worse than saying nothing.
After stopping the other tool
Section titled “After stopping the other tool”rex restartThe edge re-binds on start. It does not poll for the port becoming free.