Installation
Install Anvil on macOS, as the desktop app or the CLI alone, or build it from source step by step. Linux and Windows are in development.
Anvil comes as a desktop app, which includes the anvil CLI, or as the CLI
alone. Both share the settings in ~/.anvil.
Platforms
| Platform | Status |
|---|---|
| macOS | Supported |
| Linux | In development |
| Windows | In development |
On Linux the core builds and passes its tests, but setup (local domains, ports 80 and 443, the trusted certificate) is macOS-only today.
macOS
The desktop app
Being prepared for the first release, from the Download page and Homebrew. Until then, build it from source.
The CLI alone
Being prepared for the first release, through Homebrew. Until then, build it from source.
Build from source
Steps 1 to 3 give you the CLI; step 4 adds the desktop app.
1. Install the tools
Xcode command line tools (git, the C toolchain, and what Anvil uses to build
Redis):
xcode-select --installRust 1.90 or newer:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shIn a new shell:
rustc --versionFor the desktop app, Node.js and pnpm:
brew install node pnpm2. Get the source
git clone https://github.com/n1crack/anvil
cd anvil3. Build and install the CLI
cargo install --path . --locked
anvil --versionThis installs anvil into ~/.cargo/bin.
4. Build the desktop app
After anvil setup, node in your terminal is Anvil's, so the build needs a
Node.js installed in Anvil: run anvil runtime install node 24 first if there
is none.
pnpm --dir app/ui install
cargo install tauri-cli --version '^2' --locked
cd app && cargo tauri build --config tauri.cli.conf.json--config tauri.cli.conf.json bundles the anvil CLI inside the app, as a
release does. Without it, the app uses the CLI from step 3 in ~/.cargo/bin.
Move the app to /Applications, where the login item and anvil uninstall
look for it:
mv ../target/release/bundle/macos/Anvil.app /Applications/
open /Applications/Anvil.appThe UI uses Vite+; cargo tauri dev runs the app with
live UI reload. See CONTRIBUTING.md for tests and checks.
Update a build
git pull
cargo install --path . --locked --forceFor the desktop app, quit it, then rebuild (needs a Node.js installed in Anvil
once anvil setup has run) and replace the copy in /Applications:
pnpm --dir app/ui install
cd app && cargo tauri build --config tauri.cli.conf.json
rm -rf /Applications/Anvil.app
mv ../target/release/bundle/macos/Anvil.app /Applications/Next
Getting started: the first run and your first project.