Build Requirements
The macOS build combines the Swift app, web server, and Rust native forwarder.Requirements
- macOS: 14.0 or later on Apple Silicon
- Xcode: 16.0 or later with command line tools
- Node.js: 22.12 through 24.x
- pnpm: Use the repository-pinned version through Corepack
- Rustup:
native/vt-fwd/rust-toolchain.tomlpins Rust 1.97.0 plus rustfmt and Clippy - Internet connection: Required for the first dependency and toolchain download
Build Process
When you build VibeTunnel in Xcode for the first time:- Install Build Dependencies prepares the supported Node.js and repository-pinned pnpm environment.
-
Build Web Frontend installs the pinned JavaScript dependencies and runs
pnpm build. That build invokes Cargo innative/vt-fwd, then copies the server, browser assets, andvibetunnel-fwdinto the app resources. - Xcode compiles the Swift application and packages the resources produced by the web build phase. There is no separate native-forwarder build phase.
Benefits
- Pinned native toolchain - Rust version and components come from
native/vt-fwd/rust-toolchain.toml - Integrated packaging - Xcode receives the server and forwarder through one build pipeline
- Cached builds - JavaScript, Cargo, and Xcode reuse their normal build caches
Troubleshooting
If the build fails:- Check internet connection (required for first build)
- Run
rustup showfromnative/vt-fwdif Cargo cannot select the pinned toolchain - Verify the repository-pinned pnpm is active with
pnpm --version - Check Console.app for detailed error messages