# Install fvm with Homebrew, chocolatey, MacPorts, Nix, pacman, scoop

Manage Flutter SDK versions per project. Version 4.1.2 via Homebrew; verified 2026-06-25.

## Install

```sh
sudo av install brew:fvm
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install fvm
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install fvm
```

  Evidence: MacPorts ports tree: devel/fvm/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- Nix (92%):

```sh
nix profile install nixpkgs#fvm
```

  Evidence: nixpkgs package indexes: pkgs/by-name/fv/fvm/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- pacman (92%):

```sh
sudo pacman -S fvm
```

  Evidence: Arch Linux sync databases: fvm from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

### Windows

- Chocolatey (92%):

```sh
choco install fvm
```

  Evidence: Chocolatey community package catalog: fvm from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','flow-launcher'

- Scoop (92%):

```sh
scoop install extras/fvm
```

  Evidence: Scoop official bucket manifest trees: bucket/fvm.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:fvm
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/fvm>
- **Version:** 4.1.2
- **Source summary:** Manage Flutter SDK versions per project
- **Homepage:** <https://fvm.app>
- **Repository:** <https://github.com/leoafarias/fvm>
- **Upstream docs:** <https://fvm.app/documentation/getting-started/installation>
- **License:** MIT
- **Source archive:** <https://github.com/leoafarias/fvm/archive/refs/tags/4.1.2.tar.gz>
- **Last updated:** 2026-06-25T18:45:55Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- fvm (cli)
- fvm (alias)

## Dependencies

- dartaotruntime

## Build dependencies

- dart-sdk

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 4.1.2
- Package-manager updated: 2026-06-25
- Local data: ok
- Upstream repository: https://github.com/leoafarias/fvm
- Upstream latest detected: 4.1.2 (current)
## Project history and usage

FVM is a Dart CLI for managing Flutter SDK versions per project. It fills the same role in Flutter workflows that tools such as rbenv, pyenv, nvm, or asdf fill for other language runtimes: pin a toolchain in project metadata and route developer commands through the selected SDK.

### Project history

The public GitHub repository was created in February 2019, and the package appeared on pub.dev in October 2019. The project describes itself as Flutter Version Management and documents the problem it addresses as the need to use multiple Flutter SDKs, avoid slow channel switching, and keep team environments consistent.

By the 3.x series, FVM had moved its project configuration to a `.fvmrc` file, while keeping `.fvm/fvm_config.json` as a deprecated compatibility file. Later 4.x releases added stronger support for custom or forked Flutter SDK repositories, Melos integration, standalone executables, release automation, and more efficient git cache handling.

### Adoption history

FVM is distributed as a Dart package and as prebuilt or package-manager installs. The upstream README notes release automation to pub.dev, GitHub binaries, Homebrew, Chocolatey, and Docker, which made it available both to Flutter developers already using Dart tooling and to developers who prefer system package managers.

The project also links to Flutter Sidekick, a related graphical companion from the same author, reflecting the split between a scriptable CLI for CI and project work and a friendlier desktop surface for some users.

### How it is used

Typical usage is to run `fvm use` in a Flutter project, commit the `.fvmrc` file, and invoke `fvm flutter` or `fvm dart` so commands run against the configured SDK. Official docs describe `.fvmrc` as the project config file and `.fvm/flutter_sdk` as the project symlink to the cached SDK.

For package maintainers, FVM is notable because it coordinates a language runtime, project-local metadata, IDE settings, shell commands, and CI behavior without replacing Flutter itself.

### Why package nerds care

FVM is a clean example of a language-specific version manager becoming packaging infrastructure. Its value is not the Flutter SDK download alone, but the reproducible handoff between a project's version file, developer shell commands, IDE configuration, and automated builds.

The 3.x and 4.x changelog entries are especially interesting for package maintainers because they document migration pressure around config files, git cache size, forked SDKs, prebuilt binaries, and package-manager deployment.

### Timeline

- 2019: Public GitHub repository created.
- 2019: Package first published on pub.dev.
- 2020: 1.x releases published on GitHub.
- 2023: 3.x series uses `.fvmrc` while keeping legacy `.fvm/fvm_config.json` compatibility.
- 2025: 4.0.0 adds custom or forked Flutter SDK repository support and Melos integration.
- 2026: 4.1.x releases focus on safer CI behavior and leaner git cache handling.

### Related projects

- FVM manages the Flutter SDK and Dart tooling rather than replacing them.
- Flutter Sidekick is a related GUI project linked from the FVM README.
- Melos integration matters for Dart and Flutter monorepos.

### Sources

- <https://api.github.com/repos/leoafarias/fvm>
- <https://fvm.app/documentation/getting-started/configuration>
- <https://github.com/leoafarias/fvm>
- <https://pub.dev/packages/fvm/changelog>
- <https://raw.githubusercontent.com/leoafarias/fvm/main/CHANGELOG.md>
- <https://raw.githubusercontent.com/leoafarias/fvm/main/README.md>
- <https://raw.githubusercontent.com/leoafarias/fvm/main/docs/pages/documentation/getting-started/configuration.mdx>


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: .fvmrc
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** fvm
- **Version Scheme:** 0
- **Revision:** 0
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Nix - fvm: normalized package name match | nixpkgs package indexes: pkgs/by-name/fv/fvm/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- pacman - fvm - 4.1.0-1: normalized package name match | Arch Linux sync databases: fvm from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Flutter Version Management: A simple CLI to manage Flutter SDK versions. | https://fvm.app
- MacPorts - fvm: normalized package name match | MacPorts ports tree: devel/fvm/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Chocolatey - fvm: normalized package name match | Chocolatey community package catalog: fvm from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','flow-launcher'
- Scoop - extras/fvm: normalized package name match | Scoop official bucket manifest trees: bucket/fvm.json from https://api.github.com/repos/ScoopInstaller/Extras/git/trees/master?recursive=1


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Text processing packages](https://www.automicvault.com/pkg/text-processing-tools/) - Matched text, document, or structured-data processing metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [dartaotruntime](https://www.automicvault.com/pkg/brew/dartaotruntime/) - Runtime dependency declared by Homebrew.
- [dart-sdk](https://www.automicvault.com/pkg/brew/dart-sdk/) - Build dependency declared by Homebrew.
- [anyenv](https://www.automicvault.com/pkg/brew/anyenv/) - Shares av.db curated category or tags: cli, developer-tools, version-manager, version-managers.
- [nodebrew](https://www.automicvault.com/pkg/brew/nodebrew/) - Shares av.db curated category or tags: cli, developer-tools, version-manager, version-managers.
- [nodenv](https://www.automicvault.com/pkg/brew/nodenv/) - Shares av.db curated category or tags: cli, developer-tools, version-manager, version-managers.
- [sbtenv](https://www.automicvault.com/pkg/brew/sbtenv/) - Shares av.db curated category or tags: cli, developer-tools, version-manager, version-managers.
- [tofuenv](https://www.automicvault.com/pkg/brew/tofuenv/) - Shares av.db curated category or tags: cli, developer-tools, version-manager, version-managers.
- [vfox](https://www.automicvault.com/pkg/brew/vfox/) - Shares av.db curated category or tags: cli, developer-tools, flutter, version-manager.
- [aqua](https://www.automicvault.com/pkg/brew/aqua/) - Shares av.db curated category or tags: cli, developer-tools, version-manager.
- [asdf](https://www.automicvault.com/pkg/brew/asdf/) - Shares av.db curated category or tags: cli, developer-tools, version-manager.

## Combined YAML source

View the package source record on GitHub. [combined/fvm.yml](https://github.com/automic-vault/db/blob/main/combined/fvm.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
