本文へスキップ
← 記事一覧に戻る

miseで開発ツールを一元管理するとスッキリした話

発端

システム開発をしていると、言語ごとのバージョン管理が地味に手間だと感じることがあります。言語によって使うツールが異なるため、「このプロジェクトでは何でバージョンを管理しているんだっけ?」と環境構築の段階でつまずくこともありました。

ランタイム環境って何を使ってますか?

複数のプログラミング言語を使っていると、各言語のバージョンをそれぞれ別のツールで管理することになります。

  • java:sdkman
  • python:uv
  • javascript:npm
  • go:go標準 ...etc

筆者の環境

  • OS: macOS Tahoe 26.4.1 arm64
  • Host: MacBook Pro (14-inch, 2023)
  • CPU: Apple M2 Pro
  • Memory: 16.00 GiB

miseとは

  • 概要: Rust製の高速な開発環境セットアップ・ランタイム管理ツール。
  • 主な特徴:
    • 高速: Rustで書かれており、シェルの起動やコマンドの切り替えが高速。
    • 互換性: asdfのプラグイン資産をそのまま利用可能。
    • 多機能: ランタイム管理だけでなく、タスクランナー(makeやnpm scriptsの代替)や環境変数の管理機能も備えている。
    • シンプル: .mise.toml(または.tool-versions)による直感的な管理。

それmiseで一元管理してみない?

インストール方法

$ brew install mise

バージョン確認

$ mise --version

指定したプログラミング言語のインストール

$ mise install {プログラミング言語@バージョン}
// 以下例
$ mise install node@22

インストールした言語の確認

$ mise ls

インストールした言語をグローバルで使用する

$ mise use -g node

インストールした言語をプロジェクトで使用する(mise.tomlという設定ファイルが自動で作成される)

$ mise use node