コンテンツにスキップ

mise - 開発環境マネージャー チートシート

mise - 開発環境マネージャー チートシート

Section titled “mise - 開発環境マネージャー チートシート”

asdf、nvm、pyenv、direnv、makeを1つのツールに置き換えるポリグロット開発環境マネージャー。ツールのバージョン、環境変数、プロジェクトタスクを全て1つの設定ファイルから管理します。

プラットフォームコマンド
macOS/Linux (推奨)curl https://mise.run | sh
macOS (Homebrew)brew install mise
Arch Linuxsudo pacman -S mise
Ubuntu/Debian (apt)sudo apt install mise
Fedora/RHELsudo dnf install mise
Windows (Scoop)scoop install mise
Cargo (全プラットフォーム)cargo install mise
Nixnix-env -iA nixpkgs.mise
Dockerdocker run jdx/mise
シェル設定ファイル追加するコマンド
Bash~/.bashrceval "$(mise activate bash)"
Zsh~/.zshrceval "$(mise activate zsh)"
Fish~/.config/fish/config.fishmise activate fish | source
PowerShellプロファイルmise activate pwsh | Out-String | Invoke-Expression
コマンド説明
mise use node@22Node.js 22をインストールしてカレントディレクトリに設定
mise use python@3.12Python 3.12をカレントディレクトリに設定
mise use --global node@22Node.js 22をグローバルデフォルトとして設定
mise use node@lts最新のLTSバージョンを使用
mise use node@latest最新の絶対的なバージョンを使用
mise installmise.toml / .tool-versionsからすべてのツールをインストール
mise install node設定されたNode.jsバージョンをインストール
mise install node@20特定のバージョンをインストール
mise uninstall node@18特定のバージョンを削除
mise upgrade nodeNode.jsを最新の一致するバージョンにアップグレード
mise upgradeすべてのツールをアップグレード
mise lsインストールされたすべてのツールバージョンをリスト表示
mise ls nodeインストールされたNode.jsバージョンをリスト表示
mise ls-remote node利用可能なすべてのNode.jsバージョンを表示
mise which nodeアクティブなnodeバイナリへのパスを表示
mise where node@22Node.js 22のインストールディレクトリを表示
mise search python「python」に一致する利用可能なツールを検索
mise exec node@20 -- node -v特定のツールバージョンでコマンドを実行

サポートされているツール(一部)

Section titled “サポートされているツール(一部)”

Node.js、Python、Ruby、Go、Rust、Java、Erlang、Elixir、PHP、Terraform、kubectl、Helm、Deno、Bunなど、プラグインを通じて数百種類以上。

コマンド説明
mise set MY_VAR=valueカレントディレクトリに環境変数を設定
mise set --global API_KEY=xyzグローバル環境変数を設定
mise unset MY_VAR環境変数を削除
mise envアクティブなすべての環境変数を表示
mise env --json環境変数をJSONで表示
コマンド説明
mise run build「build」タスクを実行
mise run test「test」タスクを実行
mise run lint -- --fix追加の引数付きでタスクを実行
mise tasks ls利用可能なすべてのタスクをリスト表示
mise tasks info build「build」タスクの詳細を表示
mise tasks add build "npm run build"新しいタスクを作成
mise tasks edit buildエディタでタスクを編集
mise tasks depsタスク依存関係ツリーを表示
mise tasks validateタスク設定を検証

mise.toml(プライマリ — プロジェクトごと)

Section titled “mise.toml(プライマリ — プロジェクトごと)”
# プロジェクトルートの.mise.tomlまたはmise.toml
[tools]
node = "22"               # メジャーバージョンを正確に指定
python = "3.12"            # マイナーバージョンを正確に指定
terraform = "latest"       # 常に最新
ruby = "3.3.0"             # パッチバージョンを正確に指定
go = "prefix:1.22"         # 最新の1.22.x

[env]
NODE_ENV = "development"
DATABASE_URL = "postgres://localhost/mydb"
# .envファイルから読み込む
_.file = ".env"

[tasks.build]
description = "Build the project"
run = "npm run build"
depends = ["install"]      # 最初に'install'を実行

[tasks.install]
description = "Install dependencies"
run = "npm install"

[tasks.test]
description = "Run test suite"
run = "npm test"
depends = ["build"]

[tasks.dev]
description = "Start dev server"
run = "npm run dev"
# .tool-versions — asdfと互換
node 22.0.0
python 3.12.1
ruby 3.3.0

設定階層(最も具体的なものが優先)

Section titled “設定階層(最も具体的なものが優先)”
  1. カレントディレクトリのmise.toml
  2. 親ディレクトリのmise.toml(上方向に探索)
  3. ~/.config/mise/config.toml(グローバル)
コマンド説明
mise doctor設定の問題を診断
mise versionmiseのバージョンを表示
mise self-updatemise自体を更新
mise cache clearダウンロードとビルドキャッシュをクリア
mise reshimshimファイルを再生成
mise deactivate現在のシェルでmiseを無効化
mise lock再現可能なインストール用のロックファイルを作成
mise config lsアクティブなすべての設定ファイルをリスト表示
コマンド説明
mise plugins lsインストールされたプラグインをリスト表示
mise plugins install terraformプラグインをインストール
mise plugins updateすべてのプラグインを更新
mise plugins update terraform特定のプラグインを更新
mise backends ls利用可能なツールバックエンドをリスト表示
# シェル設定からnvmを削除、その後:
mise use --global node@$(node -v | sed 's/v//')
# miseは.tool-versionsファイルをネイティブで読み取る
# miseをインストールしてアクティブ化するだけ — 既存の.tool-versionsファイルが動作
# 環境変数をmise.tomlの[env]セクションに移動
# miseはディレクトリスコープの環境変数をネイティブで処理
# 新しいプロジェクトをセットアップ
cd ~/projects/my-app
mise use node@22 python@3.12
mise set NODE_ENV=development

# プロジェクトをクローンしてブートストラップ
git clone repo && cd repo
mise install              # mise.tomlからすべてのツールをインストール

# プロジェクトタスクを実行
mise run dev              # 開発サーバーを起動
mise run test             # テストを実行
mise run build            # 本番用にビルド

# プロジェクト間でツールバージョンを確認
mise ls

# ツールを最新に保つ
mise upgrade              # すべてのツールを最新にアップグレード
機能asdfnvmdirenvmise
マルチ言語ありNodeのみなしあり
環境変数なしなしありあり
タスクランナーなしなしなしあり
設定ファイル.tool-versions.nvmrc.envrcmise.toml + .tool-versions
速度遅い(シェル)中程度高速高速(Rust)
Shimありありなしあり