It installs the Flutter SDK from the release archives that Google publishes for Linux x64, macOS
and Windows x64, checked against the SHA-256 checksums of Flutter's release index. On Linux ARM64
and Windows ARM64, where there is no archive, it installs the official flutter/flutter git tag
instead. It also installs the OpenHarmony builds of Flutter from gitcode.com.
After installing vfox, install the plugin by running:
vfox add fluttervfox has to be hooked into your shell for flutter to be on the PATH, see its
quick start.
The Flutter SDK includes the Dart SDK; if you install the Flutter SDK via the current vfox plugin, there is no need to separately install the Dart SDK using the vfox plugin from https://github.com/version-fox/vfox-dart .
sudo apt install --assume-yes curl git unzip xz-utils zip libglu1-mesa
vfox add flutter
vfox install flutter@3.47.4
vfox use --global flutter@3.47.4You can verify this using the following command:
flutter --version --no-version-check
dart --versionThe sudo apt install line is not a vfox command, and it is not the same on every system. It
installs the packages that Flutter's installation guide
asks for on Linux, with apt, the package manager of Ubuntu and other Debian-based distributions.
It comes first because the plugin runs git while it installs. Other Linux distributions have
their own package managers and package names, macOS gets git from the Xcode command-line tools
and Windows from Git for Windows. See docs/platforms.md for
what each package is for and what other systems need.
vfox search flutter lists the versions you can install. In an interactive terminal it lets you
pick one and installs it.
Behavior that only exists on main and not in the latest release is marked "Unreleased" in the
pages below. docs/changes.md lists it, and
docs/install-from-source.md gets you main.
By hand, Flutter is a download, an unpack and an edit of ~/.bashrc, again for every machine and
every version. With the plugin it is vfox install and vfox use, and ~/.bashrc has the one
line that hooks vfox into your shell and nothing about Flutter. docs/use-cases.md
sets the two side by side and goes through the situations the plugin is for: a new machine, or one
that has a hand-made install; projects and teams that each use their own Flutter version; upgrading
and going back; trying a beta; a mirror in China; scripts and IDEs; and ARM64 machines.
A version is a release as vfox search flutter prints it: 3.47.4, or a beta such as
3.50.0-0.1.pre. -x64 or -arm64 after it asks for that architecture instead of the
machine's, and stable and beta stand for the release the channel points to. Versions are
matched whole, so flutter@3.47 does not select the newest 3.47.x. vfox use, vfox uninstall
and vfox exec take the name that is installed, as vfox list flutter shows it.
flutter@latest is the first line of the list, the newest stable release. See
docs/versions.md for the names, how installs are named and the order of the
list.
vfox install flutter@stable and flutter@beta install the release the channel points to today,
and name the install after that release (3.47.7), so vfox use flutter@stable fails: use the
version. Flutter retired the dev channel. See docs/channels.md for details.
Linux, macOS and Windows on x64 and ARM64. See docs/platforms.md for what
installs from where, what vfox and git have to be there, which hosts the plugin connects to
and what the tests cover.
flutter@3.47.4-x64 and flutter@3.47.4-arm64 install a specific build, and a plain name takes
the one for the machine. Linux ARM64 and Windows ARM64 install from a git tag, and offer the
releases that run with a native Dart SDK. See docs/arm64.md for details.
FLUTTER_STORAGE_BASE_URL selects a mirror such as CFUG's or CERNET's for the release index and the
archives, and VFOX_FLUTTER_GITHUB_MIRROR one for the GitHub clone of the source installs. See
docs/mirror.md for details.
vfox install flutter@3.41.10-ohos-1.0.0 installs the OpenHarmony fork of Flutter from gitcode.com
as a git checkout. These builds are listed after the official releases, and @latest never
selects one. See docs/ohos.md for details.
See docs/troubleshooting.md for the messages the plugin and vfox print, proxies, a rate-limited gitcode.com, the things that look wrong and are not, and where Flutter is.
See docs/flutter-upgrade.md for details.
See docs/install-from-source.md for details.
See docs/development.md for how the plugin works and how to change it, and docs/e2e.md for the container tests.
See docs/changes.md for what changed in each release.
Maintainers can publish from Actions → Plugin → Run workflow on the default
branch by entering a stable plugin version without the v prefix. The shared
workflow updates metadata.lua, creates the version commit and tag, and publishes
the ZIP and manifest in this repository. No local tag or extra release token is
needed. Pull requests run checks only; PR titles no longer trigger publication.
Existing version-tag pushes are supported when PLUGIN.version already matches
the tag. If publication fails, re-run the original failed job to resume it.
The workflow follows the shared @v1 release-tool version. Updating the tool does
not release this plugin. See the shared workflow documentation
for the package contract and first-rollout requirements.
- Flutter, whose release index and archives the plugin installs from
- CFUG and CERNET, whose mirrors of Flutter's storage the plugin can use
- CPF-Flutter, whose OpenHarmony builds of Flutter the plugin installs