メインコンテンツまでスキップ

miseの使用

miseのインストールは前回の記事参照

miseは開発ツールのバージョン管理だけでなく、プロジェクトごとの環境変数やタスクも管理できる。

インストールできるツールの確認

以下のコマンドでmiseからインストールできるツールを確認できる。

mise registry

Node.jsやPythonのような言語だけでなく、GitHub Releases, npm, pipx, aquaなどのバックエンドからCLIツールを入れることもできる。

特定のツールだけ確認したい場合は、名前を指定する。

mise registry node

インストールできるバージョンの確認

指定したツールでインストールできるバージョンを確認する。

mise ls-remote [ツール名]

例としてNode.jsのバージョンを確認する場合は以下。

mise ls-remote node

メジャーバージョンを絞りたい場合は以下のように指定できる。

mise ls-remote node@20

グローバルで使うツールのインストール

全フォルダでデフォルトとして使うツールは--globalを付けて指定する。

mise use --global [ツール名]@[バージョン名]

コピペ用によく使うツールのインストールコマンドを示す。

mise use --global node@lts
mise use --global [email protected]
mise use --global dotnet@10
mise use --global go@latest

--globalで指定した内容は、基本的に~/.config/mise/config.tomlに保存される。

特定フォルダで使うツールの指定

プロジェクトごとに使うバージョンを変えたい場合は、そのプロジェクトのフォルダでmise useを実行する。

mise use node@lts
mise use dotnet@10

このコマンドを実行すると、カレントディレクトリにmise.tomlが作成または更新される。

例として、以下のような内容になる。

[tools]
node = "lts"
python = "3.14"
dotnet = "10"

mise.tomlを直接編集した場合は、以下のコマンドで指定されているツールをインストールする。

mise install

これにより、プロジェクトの参加者が同じツールバージョンを使いやすくなる。

asdfの.tool-versionsとの互換性

miseはasdfで使っていた.tool-versionsも読むことができる。

そのため、既存のasdfプロジェクトにmiseを導入する場合でも、最初からmise.tomlに移行しなくても動かせることが多い。

ただし、miseの環境変数やタスクランナー機能を使う場合はmise.tomlを使う。

mise trust

他人が作ったリポジトリをcloneした場合、mise.tomlの内容を確認してから信頼する。

cat mise.toml

問題なければ以下を実行する。

mise trust

mise trustは、現在のディレクトリまたは親ディレクトリにあるmise.tomlを信頼済みにするコマンドである。

信頼済みかどうかを確認したい場合は以下。

mise trust --show

信頼を取り消したい場合は以下。

mise trust --untrust
注意

mise.tomlには環境変数、hooks、タスクなど、実行時に影響する設定を書ける。

知らないリポジトリでは、内容を確認せずにmise trustしないこと。

mise run

miseではmise.tomlにタスクを定義して、mise runで実行できる。

例えば以下のように書く。

[tasks.doctor]
description = "開発環境の確認"
run = "node --version && python --version && dotnet --version"

[tasks.dev]
description = "開発サーバーを起動"
run = "npm run dev"

定義したタスクは以下のように実行する。

mise run doctor

タスク一覧を確認したい場合は以下。

mise tasks

実際には実行せず、どのタスクが動くかだけ確認したい場合は-nを付ける。

mise run -n doctor

mise runでタスクを実行すると、mise.tomlで指定したツールや環境変数が読み込まれた状態でコマンドが動く。

プロジェクトのセットアップ手順をREADMEに長く書く代わりに、mise run setupmise run doctorのようなタスクを用意しておくと便利である。

参考資料