dvm 0.0.0-alpha

dvm #

Dart Version Manager: Manage multiple active Dart versions.

WORK IN PROGRESS: See "progress" below, not yet a stable package!

Loosely based on @cbracken's original dvm shell script. Thanks Chris!

Installation #

$ pub global activate dvm

Usage #

$ dvm

Manage multiple active Dart versions.

Usage: dvm <command> [arguments]

Global options:
-h, --help       Print this usage information.
-v, --version    Print out the latest released version of dvm.
-p, --path       Installation directory for the Dart SDK.
                 (defaults to "/Users/matanl/.dvm")

Available commands:
  help      Display help information for dvm.
  install   Download and install a <version/channel>.
  switch    Switches the `current` directory to <version/channel>.

Progress #

This package is a work in progress, and pull requests are welcome!

  • [ ] Use SHA256 to validate the download.
  • [ ] Support installing from a local path.
  • [ ] Configure whether to keep archives or auto-unzip.
  • [ ] Use system installed unzip if available.

Why a Dart package and not X? #

Dart is already a cross-platform language, and binaries can be easily installed using pub global activate. I'm also hoping that being in Dart makes it more likely to get contributions from other Dart users!

One potential issue that was pointed out is the possibility of using dvm to switch to a version of the SDK that in turn, breaks dvm. That's a valid concern, so when releasing dvm it will ship with its own version of the Dart VM, similar to dart-sass.

0.0.0-alpha #

  • Initial pre-release.

Use this package as an executable

1. Install it

You can install the package from the command line:

$ pub global activate dvm

2. Use it

The package has the following executables:

$ dvm
Describes how popular the package is relative to other packages. [more]
Code health derived from static analysis. [more]
Reflects how tidy and up-to-date the package is. [more]
Weighted score of the above. [more]
Learn more about scoring.

The package version is not analyzed, because it does not support Dart 2. Until this is resolved, the package will receive a health and maintenance score of 0.

Analysis issues and suggestions

Support Dart 2 in pubspec.yaml.

The SDK constraint in pubspec.yaml doesn't allow the Dart 2.0.0 release. For information about upgrading it to be Dart 2 compatible, please see https://dart.dev/dart-2#migration.

Maintenance issues and suggestions

Make sure dartdoc successfully runs on your package's source files. (-10 points)

Dependencies were not resolved.


Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.22.0 <2.0.0