mise(旧rtx)で開発環境を統一する — Node.js・Python・Rubyのバージョン管理 2026
開発ツール New

mise(旧rtx)で開発環境を統一する — Node.js・Python・Rubyのバージョン管理 2026

nvm、pyenv、rbenvをたったひとつのツールに統合。miseは複数言語のランタイムバージョンを一元管理できるモダンな開発環境マネージャー。インストールから.mise.tomlの設定、チーム開発での環境統一まで、開発環境を劇的にシンプルにする実践ガイド。

mise 開発環境 Node.js バージョン管理 開発ツール

miseとは

mise(ミーズ)は、複数のプログラミング言語やツールのバージョンを一元管理するCLIツールだ。旧名rtx(2024年にmiseに改名)で、Rust製の高速なランタイムバージョンマネージャとして急速に普及している。

従来、Node.jsはnvm、Pythonはpyenv、Rubyはrbenvと、言語ごとに異なるバージョン管理ツールが必要だった。miseはこれらを1つのツールに統合する。


なぜmiseが必要なのか

従来の課題

問題具体例
ツールの乱立nvm + pyenv + rbenv + goenv + …
シェルの初期化が遅い各ツールの初期化スクリプトが競合
プロジェクト固定が面倒.nvmrc.python-version.ruby-version が別々
チーム内のバージョン不一致「自分の環境では動くのに」問題

miseの解決策

  • 1ツールで全言語対応: Node.js、Python、Ruby、Go、Java、Rust、Bun…
  • 高速: Rust製で、シェル起動時のオーバーヘッドが1ms未満
  • 既存ファイル互換: .nvmrc.python-version をそのまま読める
  • プロジェクト単位: .mise.toml でディレクトリごとにバージョンを固定

インストール

macOS

# Homebrew(推奨)
brew install mise

# またはcurl
curl https://mise.run | sh

Linux

curl https://mise.run | sh

シェル設定

# ~/.zshrc に追加
eval "$(mise activate zsh)"

# bashの場合
eval "$(mise activate bash)"

基本的な使い方

ランタイムのインストール

# Node.js 24をインストール
mise install node@24

# 最新のLTSをインストール
mise install node@lts

# Python 3.13をインストール
mise install python@3.13

# 複数同時にインストール
mise install node@24 python@3.13 ruby@3.4

バージョンの切り替え

# グローバル設定(デフォルトのバージョン)
mise use --global node@24

# プロジェクト固定(.mise.toml を生成)
mise use node@24

# 一時的に使用
mise exec node@22 -- node --version

現在のバージョンを確認

# アクティブなバージョン一覧
mise ls

# 特定のツール
mise ls node

# インストール可能なバージョン一覧
mise ls-remote node

.mise.toml でプロジェクト管理

基本構成

[tools]
node = "24"
pnpm = "10"
python = "3.13"

[env]
NODE_ENV = "development"
DATABASE_URL = "postgresql://localhost:5432/myapp"

詳細な設定

# 複数バージョンの並行インストール
[tools]
node = ["24", "22"]  # 両方インストール、24がデフォルト
python = "3.13"

# 環境変数(.envファイルの読み込みも可能)
[env]
_.file = ".env.local"
NODE_ENV = "development"

# タスクランナー機能
[tasks.dev]
run = "pnpm dev"
description = "Start development server"

[tasks.build]
run = "pnpm run build"
description = "Build for production"

[tasks.test]
run = "pnpm test"
description = "Run tests"

asdfとの比較

miseはasdfの後継として設計されている。asdfのプラグインエコシステムとの互換性を保ちつつ、パフォーマンスと使いやすさを大幅に改善している。

項目miseasdf
言語RustShell script
速度◎(1ms未満)△(100ms+)
設定ファイル.mise.toml.tool-versions
.tool-versions互換
.nvmrc互換△(プラグイン依存)
環境変数管理○(built-in)
タスクランナー○(built-in)
プラグイン互換asdfプラグインをそのまま使える-

タスクランナーとして活用

miseは単なるバージョン管理ツールではない。タスクランナーとしても機能する。

.mise.toml でタスクを定義

[tasks.dev]
run = "pnpm dev"
description = "Start dev server"

[tasks.lint]
run = ["pnpm run lint", "pnpm run typecheck"]
description = "Run linter and type checker"

[tasks.deploy]
run = "pnpm run build && firebase deploy"
description = "Build and deploy"
depends = ["lint"]  # lintが成功してからdeployを実行

実行

mise run dev
mise run lint
mise run deploy

package.json の scripts や Makefile の代替として使える。依存関係の定義(depends)や並列実行もサポートしている。


チーム開発での運用

1. .mise.toml をリポジトリにコミット

# プロジェクトルートで
mise use node@24 pnpm@10
git add .mise.toml
git commit -m "chore: add mise configuration"

2. チームメンバーの初期セットアップ

# リポジトリをクローン後
mise install  # .mise.toml に定義されたツールを一括インストール
pnpm install  # 依存関係のインストール

これだけで、チーム全員が同じバージョンのNode.js、pnpm、その他のツールを使える。

3. CI/CDでの使用

# GitHub Actions
- name: Install mise
  uses: jdx/mise-action@v2

- name: Install dependencies
  run: pnpm install --frozen-lockfile

- name: Build
  run: pnpm run build

便利な機能

シム(shim)モード

IDEとの互換性のために、shimモードが使える。

mise settings set experimental true
mise reshim

これにより、~/.local/share/mise/shims/ にshimが作成され、IDEがバージョン管理されたツールを認識できる。

信頼機能

セキュリティのために、新しい .mise.toml は明示的に信頼する必要がある。

# プロジェクトの.mise.tomlを信頼
mise trust

# 信頼を取り消す
mise trust --untrust

自動補完

# zsh
mise completion zsh > ~/.zfunc/_mise

# bash
mise completion bash > /etc/bash_completion.d/mise

L-yardプロジェクトでの使用例

本サイト(L-yard)でもmiseを使って開発環境を管理している。

# .mise.toml
[tools]
node = "24"
pnpm = "latest"

これにより、リポジトリをクローンした時点で mise install を実行するだけで、正しいバージョンのNode.jsとpnpmが自動的にインストールされる。


まとめ

miseは「開発環境のバージョン管理」という地味だが重要な問題を、エレガントに解決するツールだ。

導入の手順はシンプル:

  1. brew install mise でインストール
  2. シェルの初期化スクリプトに eval "$(mise activate zsh)" を追加
  3. プロジェクトで mise use node@24 を実行
  4. .mise.toml をコミット

これだけで、nvm・pyenv・rbenvといった個別ツールを卒業し、統一された開発環境管理が手に入る。


あわせて読みたい