コンテンツにスキップ

miseによる開発ツールバージョン管理

miseは、Node.js、Python、Ruby、Flutter、.NETなど複数の開発ツールのバージョンを統一的に管理できるツールです。asdfの後継として開発されており、より高速で使いやすくなっています。

Terminal window
brew install mise

.zshrcに追加:

Terminal window
eval "$(mise activate zsh)"

.bashrcに追加(bashユーザー):

Terminal window
eval "$(mise activate bash)"

.bash_profileに追加(必要に応じて):

Terminal window
export PATH="$HOME/.local/share/mise/shims:$PATH"

設定を反映:

Terminal window
source ~/.zshrc
Terminal window
# 最新の安定版をインストール
mise install node@latest
mise install python@latest
# 特定バージョンをインストール
mise install node@18.17.0
mise install flutter@3.16.7
Terminal window
# プロジェクトでの使用(.mise.tomlが作成される)
mise use node@18.17.0
mise use python@3.11.3
# グローバル設定
mise use -g node@18.17.0
mise use -g flutter@3.19.3-stable

インストール済みツールの確認

Section titled “インストール済みツールの確認”
Terminal window
# すべてのツールとバージョンを表示
mise list
# 特定のツールのバージョンを表示
mise list node
Terminal window
# Flutter(Dartも同時にインストールされる)
mise use flutter@3.16.7
# グローバルに設定
mise use -g flutter@3.19.3-stable
Terminal window
# LTS版をインストール
mise install node@lts
mise use node@lts
# 特定バージョン
mise use node@20.11.0
Terminal window
# 最新の3.11系をインストール
mise install python@3.11
mise use python@3.11
Terminal window
# .NET 8をインストール
mise use dotnet@8
# .NET 6をプロジェクトで使用
mise use dotnet@6
Terminal window
# Ruby 3.2をインストール
mise use ruby@3.2

プロジェクトルートに.mise.tomlを作成:

[tools]
node = "18.17.0"
python = "3.11.3"
flutter = "3.16.7"

レガシーバージョンファイルのサポート

Section titled “レガシーバージョンファイルのサポート”

miseは以下のファイルも自動で読み込みます:

  • .nvmrc (Node.js)
  • .ruby-version (Ruby)
  • .python-version (Python)

有効化するには:

Terminal window
mise settings set legacy_version_file true
Terminal window
mise plugins list-all
Terminal window
# 公式プラグインの追加(自動)
mise install terraform
# カスタムプラグインの追加
mise plugins add custom-tool https://github.com/user/mise-custom-tool.git
Terminal window
mise uninstall flutter@3.19.3
mise uninstall dart@3.3.1
Terminal window
mise uninstall node
Terminal window
# Dartパッケージキャッシュの修復
dart pub cache repair
# または依存関係の更新
dart pub update
Terminal window
# miseの環境を確認
mise doctor
# シムのパスを確認
which node
which flutter
Terminal window
# miseのキャッシュをクリア
mise cache clear

.mise.tomlで環境変数も管理できます:

[env]
NODE_ENV = "development"
DATABASE_URL = "postgresql://localhost/myapp"
[tools]
node = "18.17.0"

既存の.tool-versionsファイルがある場合:

Terminal window
# .tool-versionsから.mise.tomlへ変換
mise install # .tool-versionsを自動で読み込み
mise use # .mise.tomlを生成
Terminal window
# 現在の設定を表示
mise current
# 利用可能なバージョンを表示
mise list-remote node
# 設定ファイルの編集
mise edit
# 環境情報の表示
mise env
  1. プロジェクトごとに.mise.tomlを作成

    • バージョンを明確に固定
    • チーム間で環境を統一
  2. グローバル設定は最小限に

    • 開発ツールの基本的なものだけ
    • プロジェクト固有の設定を優先
  3. 定期的なアップデート

    Terminal window
    # mise自体のアップデート
    brew upgrade mise
    # プラグインのアップデート
    mise plugins update