🎯
【Dart】Version管理ツールdvmを試す
DartのVersion Manager Tool
今回はDartのVersion管理ツールを試してみました! 一番Starが付いていた↓を導入して試してみます。
https://github.com/cbracken/dvm
Install
git clone https://github.com/cbracken/dvm.git ~/.dvm
使っている .bashrc
や .zshrc
などに以下を追加。
if [[ -f ~/.dvm/scripts/dvm ]]; then
. ~/.dvm/scripts/dvm
fi
インストール可能なDartのVersion一覧
$ dvm listall
1.11.0
1.11.1
...
3.1.4
3.1.5
latest
使用するVersionのインストール
dvm install [version]
デフォルトで使用するDartのVersion指定
dvm use [version] --default
--default
を付ける事で環境変数 PATH
にdartの実行ファイルのパスを設定してくれるみたいです。
Version切り替え
別Versionをインストールし複数のVersionが存在する状態にします。
$ dvm install [未インストールのVersion]
# ↓今回試したversion
$ dvm list
3.1.4
3.1.5
切り替え
$ dart --version
Dart SDK version: 3.1.5 (stable) (Tue Oct 24 04:57:17 2023 +0000) on "macos_arm64"
$ dvm use 3.1.4
$ dart --version
Dart SDK version: 3.1.4 (stable) (Tue Oct 17 14:55:53 2023 +0000) on "macos_arm64"
versionが 3.1.5
から 3.1.4
に切り替わっています。
再度 .bashrc
や .zshrc
などを読み直すと元の 3.1.5
に戻ります。
$ dart --version
Dart SDK version: 3.1.4 (stable) (Tue Oct 17 14:55:53 2023 +0000) on "macos_arm64"
$ source ~/.zshrc
$ dart --version
Dart SDK version: 3.1.5 (stable) (Tue Oct 24 04:57:17 2023 +0000) on "macos_arm64"
fvm
の様にプロジェクト単位で使用するVersionを指定する等の設定は残念ながらできないようです。
Aliasを設定する
ユニークな機能として各VersionにAliasを設定する事ができます。
# 例
$ dvm alias create xxxx_dart_version 3.1.4
$ dvm alias list
xxxx_dart_version
$ dvm use 3.1.5
$ dart --version
Dart SDK version: 3.1.5 (stable) (Tue Oct 24 04:57:17 2023 +0000) on "macos_arm64"
$ dvm use xxxx_dart_version
$ dart --version
Dart SDK version: 3.1.4 (stable) (Tue Oct 17 14:55:53 2023 +0000) on "macos_arm64"
aliasコマンドは create
, update
, delete
, list
コマンド使えます。
↓はaliasを更新して削除している例です。
$ dvm alias list
xxxx_dart_version
$ dvm alias update xxxx_dart_version 3.1.5
$ dvm use xxxx_dart_version
$ dart --version
Dart SDK version: 3.1.4 (stable) (Tue Oct 17 14:55:53 2023 +0000) on "macos_arm64"
$ dvm alias delete xxxx_dart_version
$ dvm alias list #=> 空
dart pub global activate を実施してみる
dart pub global activate xxx を実施するとどこにインストールされるのか試してみました。
$ dart pub global activate webdev
$ which webdev master
~/.pub-cache/bin/webdev
どうやら特別何か行なっている訳ではなく通常通り ~/.pub-cache/bin
内にインストールされる様です。
まとめ
他のVersion管理ツールみたく特定のプロジェクト毎にVersion指定する機能がないのが残念ですが、それ以外は他のVersion管理ツールを使っている方であればスムーズに導入できる感じかなと思いました。
Discussion