Rubyのrvm, rbenvみたいにDartのバージョンマネージャーはないのかな?と探してみたところ、dvmがヒットしました。 dvmはpubパッケージとして公開されているので、dartのインストールが行われていないと使えません。
dvmのインストール
dartはすでにインストールされている前提で話を進めます。以下のコマンドを入力します。
$ pub global activate dvm
これで終わりです。一応、dvm help
を実行してみましょう。
$ dvm help 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/toyoaki/.dvm") Available commands: help Display help information for dvm. install Download and install a <version/channel>. switch Switches the `current` directory to <version/channel>. Run "dvm help <command>" for more information about a command.
入ってます。
複数のバージョンのdartのインストール
とりあえず複数バージョンのdartを入れてみましょう。バージョン情報は以下のページから見れます。
dvm自体にはまだバージョン一覧を取得する方法がなさそうです。
$ dvm install 1.24.3
終わったら、続けて違うバージョンを入れてみます。
$ dvm install 1.25.0-dev.16.4
とりあえずダウンロードは終わった模様です。
dvmのdartが使われない
1.25.0-dev.16.4を使うように指定してから、バージョンを表示してみました。
$ dvm switch 1.25.0-dev.16.4 INFO: Switching to dev/1.25.0-dev.16.4... INFO: Done as "/Users/patorash/.dvm/current/dart-sdk". $ dart --version Dart VM version: 1.24.3 (Wed Dec 13 23:26:59 2017) on "macos_x64"
どうも使われてない模様…。dartのパスを調べます。
$ which dart /usr/local/bin/dart
dartのパスをホームディレクトリ以下の.dvm/current/dart-sdk/bin
に変更しないといけません。
homebrewのdartを削除
まぁいつでも入れ直せるだろうと思ってザクッと削除しました。
$ brew remove dart
その後、PATHに追加します。.bash_profileなりに入れましょう。
export PATH="/Users/patorash/.dvm/current/dart-sdk/bin:$PATH"
その後、source .bash_profile
するか、ターミナルの再起動をするかをします。
これでdartへのパスが通ったかと思いきや、実行権限がなくて認識してませんでしたので実行権限を付与します。
$ chmod +x ~/.dvm/current/dart-sdk/bin/*
この後、dart --version
を実行してみましょう。
$ dart --version Dart VM version: 1.25.0-dev.16.4 (Wed Sep 13 01:47:12 2017) on "macos_x64"
変わってます!では、また違うバージョンにしてからバージョン確認してみましょう。
$ dvm switch 1.24.3 Wrong script snapshot version, expected '47f19879b9cac7de1b33e7b7ea414c7a' found '3b70e6793a0fce902401bb759bc9762b' INFO: Switching to stable/1.24.3... INFO: Done as "/Users/toyoaki/.dvm/current/dart-sdk". $ dart --version Dart VM version: 1.24.3 (Wed Dec 13 23:26:59 2017) on "macos_x64"
ちゃんと1.24.3に変更できました。
まだ入れただけで実際にこれで開発をしたことがあるわけではないのですが、ひとまずはこれを使ってみようと思います。