Skip to content

Latest commit

 

History

History
103 lines (78 loc) · 3.65 KB

File metadata and controls

103 lines (78 loc) · 3.65 KB
title Installation
description Install fallow via npx, npm, pnpm, yarn, cargo, Docker, or a prebuilt binary. Binaries for macOS, Linux, and Windows.
keywords
fallow install
npx fallow
npm
pnpm
yarn
cargo
docker
binary
icon download

The fastest way to try Fallow is to run it directly:

npx fallow

If you use Fallow often, install it globally.

Prebuilt binaries for macOS, Linux, and Windows. No Rust toolchain required.
```bash
npm install -g fallow
```

<Tip>
  The npm package uses `optionalDependencies` to download the correct platform binary automatically.
</Tip>
```bash pnpm add -g fallow ``` ```bash yarn global add fallow ``` Use this if you already have a Rust toolchain.
```bash
cargo install fallow-cli
```
Use this when you want to run fallow without installing Node.js, npm, or Rust on the host.
```bash
docker build -t fallow:local https://github.com/fallow-rs/fallow.git#main
docker run --rm -v "$PWD:/workspace" --user "$(id -u):$(id -g)" fallow:local audit --format json --quiet
```

The image runs fallow as a one-shot CLI against `/workspace`. The `--user` mapping keeps `.fallow/` caches and generated reports owned by your host user, and it lets `fallow audit` use git base detection without Git's dubious-ownership guard blocking the mounted repository. The image includes git, Node.js, npm, and Corepack; fallow does not install your project dependencies automatically.

For Compose, copy [`examples/docker/compose.yaml`](https://github.com/fallow-rs/fallow/blob/main/examples/docker/compose.yaml) into the target project after building the image, then run:

```bash
docker compose run --rm fallow audit --format json --quiet
```

<Warning>
Fallow is a one-shot CLI, not a long-running service. In Portainer or other stack tools, use a one-shot run command instead of deploying it as an always-on service, or override the command for an interactive shell. Container exit codes are the fallow process exit codes, so CI can gate on the `docker run` or `docker compose run` result directly.
</Warning>

On Linux and WSL the commands above work as written. On Windows outside WSL, pass an absolute project path accepted by Docker Desktop and keep the mounted working directory at `/workspace`. For containerized runtime coverage inventory, pass the container path prefix so inventory paths match what the runtime beacon reports:

```bash
docker run --rm -v "$PWD:/workspace" --user "$(id -u):$(id -g)" fallow:local coverage upload-inventory --path-prefix /workspace --format json --quiet
```
Download prebuilt binaries from [GitHub Releases](https://github.com/fallow-rs/fallow/releases).
| Target | Platform |
|:-------|:---------|
| `fallow-aarch64-apple-darwin.tar.gz` | macOS Apple Silicon |
| `fallow-x86_64-apple-darwin.tar.gz` | macOS Intel |
| `fallow-x86_64-unknown-linux-gnu.tar.gz` | Linux x64 (glibc) |
| `fallow-aarch64-unknown-linux-gnu.tar.gz` | Linux ARM64 (glibc) |
| `fallow-x86_64-unknown-linux-musl.tar.gz` | Linux x64 (musl) |
| `fallow-aarch64-unknown-linux-musl.tar.gz` | Linux ARM64 (musl) |
| `fallow-x86_64-pc-windows-msvc.zip` | Windows x64 |

Verify

fallow --version
If you see a version number, you're all set.

Next step

Go to the Quick start and run your first analysis.