Skip to content

Commands

Version

puro version

Prints version information

Options

--plain

Print just the version to stdout and exit


Create

puro create <name> [version]

Sets up a new Flutter environment

Options

--channel=<name>

The Flutter channel, in case multiple channels have builds with the same version number.

--fork=<url>

The origin to use when cloning the framework, puro will set the upstream automatically.


Upgrade

puro upgrade <name> [version]

Upgrades or downgrades an environment to a new version of Flutter

Options

--channel=<name>

The Flutter channel, in case multiple channels have builds with the same version number.

--force

Forcefully upgrade the framework, erasing any unstaged changes


Ls

puro ls

Lists available environments Highlights the current environment with a * and the global environment with a ~

Options

-p, --projects

Whether to show projects using each environment

-d, --dart

Whether to show the dart version of flutter environments


Use

puro use <name>

Selects an environment to use in the current project

Options

--[no-]vscode

Enable or disable generation of VSCode configs

--[no-]intellij

Enable or disable generation of IntelliJ (or Android Studio) configs

-g, --global

Set the global default to the provided environment


Clean

puro clean

Deletes Puro configuration files from the current project and restores IDE settings


Rm

puro rm <name>

Deletes an environment

Options

-f, --force

Delete the environment regardless of whether it is in use


Rename

puro rename <name> <new name>

Renames an environment


Flutter

puro flutter [...args]

Forwards arguments to flutter in the current environment


Dart

puro dart [...args]

Forwards arguments to dart in the current environment


Pub

puro pub [...args]

Forwards arguments to pub in the current environment


Run

puro run [...args]

Forwards arguments to dart run in the current environment


Upgrade-puro

puro upgrade-puro [version]

Upgrades the puro tool to a new version

Options

--[no-]path

Whether or not to update the PATH automatically


Uninstall-puro

puro uninstall-puro

Uninstalls puro from the system

Options

--force

Ignore the current installation method and attempt to uninstall anyway

--profile

Overrides the profile script puro appends to when updating the PATH


Gc

puro gc

Cleans up unused caches


Ls-versions

puro ls-versions

Lists available Flutter versions

Options

--full

Prints all releases instead of the last 10

-f, --force

Forces new releases to be fetched regardless of cache duration


Engine

puro engine <subcommand> [arguments]

Manages Flutter engine builds


Eval

puro eval [code]

Evaluates ephemeral Dart code

Options

-r, --reset

Resets the pubspec file

-i, --import

A package to import, this option accepts a shortened package URI followed by one or more optional modifiers

Shortened names expand as follows: foo => import 'package:foo/foo.dart' foo/bar => import 'package:foo/bar.dart'

The = modifier adds as to the import: foo= => import 'package:foo/foo.dart' as foo foo=bar => import 'package:foo/foo.dart' as bar

foo/bar= => import 'package:foo/bar.dart' as foo

The + and - modifier add show and hide to the import: foo+x => import 'package:foo/foo.dart' show x foo+x+y => import 'package:foo/foo.dart' show x, y foo-x => import 'package:foo/foo.dart' hide x foo-x-y => import 'package:foo/foo.dart' hide x, y

Imports for packages also implicitly add a package dependency

-p, --package

A package to depend on, this option accepts the package name optionally followed by a version constraint: name[=][constraint] The package is removed from the pubspec if constraint is "none"

-c, --no-core

Whether to disable automatic imports of core libraries

-e, --extra

Extra VM options to pass to the dart executable


Repl

puro repl

Interactive REPL for dart code

Options

-r, --reset

Resets the pubspec file

-e, --extra

Extra VM options to pass to the dart executable


Build-shell

puro build-shell [...command]

Starts a shell with the proper environment variables for building the engine


Global Options

-h, --help

Print this usage information.

--pub-cache-dir=<dir>

Overrides the pub cache directory

--[no-]legacy-pub-cache

Whether to use the legacy pub cache directory

--git-executable=<exe>

Overrides the path to the git executable

--root=<dir>

Overrides the global puro root directory. (defaults to ~/.puro or $PURO_ROOT)

--dir=<dir>

Overrides the current working directory

-p, --project=<dir>

Overrides the selected flutter project

-e, --env=<name>

Overrides the selected environment

--flutter-git-url=<url>

Overrides the Flutter SDK git url

--engine-git-url=<url>

Overrides the Flutter Engine git url

--dart-sdk-git-url=<url>

Overrides the Dart SDK git url

--releases-json-url=<url>

Overrides the Flutter releases json url

--flutter-storage-base-url=<url>

Overrides the Flutter storage base url

--log-level=<0-4>

Changes how much information is logged to the console, 0 being no logging at all, and 4 being extremely verbose

--[no-]log-profile

Enable profiling information in logs

-v, --[no-]verbose

Verbose logging, alias for --log-level=3

--[no-]color

Enable or disable ANSI colors

--[no-]progress

Enable progress bars

--json

Output in JSON where possible

--[no-]install

Whether to attempt to install puro

--[no-]skip-cache-sync

Whether to skip syncing the Flutter cache

--version

Prints version information, same as the version command

--no-update-check

Skip update check