👋

全ての環境構築をmiseへ

に公開2

はじめに

デェェェェン(わかる人は笑ってください。わからない人はわからないままで大丈夫です。)。
政治的な意図は何もないですが、「全ての環境構築をmiseへ」移行するとlocalの環境がすっきりするのでおすすめです。
開発環境の構築と管理は、プログラミングにおいて避けて通れない課題です。従来は言語ごとに異なるversion管理ツールを使う必要がありました。NodeJSではnvm、Pythonではpyenv、Rubyではrbenvなど、複数の言語を扱うと管理が複雑になります。

開発環境管理の課題

  • 言語ごとに異なる環境構築ツールを使用する必要がある
  • インストール先やコマンドの違いによる混乱
  • 複数のversion管理ツールが干渉して予期せぬ問題が発生
  • 「本当にどの環境が動いているのか」がわからなくなる

miseによる課題の解決

miseは、これらの課題を解決する統合version管理ツールです。一つのツールで数百以上の言語やツールを管理できます。

主な特長:

  • 言語やツールの統一管理(Node.js、Python、Ruby、Go、Javaなど)
  • プロジェクトごとに異なるversionを自動的に切り替え
  • ASDFと互換性があり、既存の設定ファイルも利用可能
  • 環境変数の管理機能も内蔵
  • パフォーマンスの向上(PATH直接操作による低オーバーヘッド)

多くの言語やツールに対応しており、公式サイトの対応言語一覧で確認できます。

この記事では、miseのインストール方法と基本的な使い方を紹介します。

miseのinstall

  • brewmiseをinstall
brew install mise
  • misezshシェルで自動起動するように~/.zshrcevalを追加
echo 'eval "$(~/.local/bin/mise activate zsh)"' >> ~/.zshrc
  • 追加したevalの設定の反映
source ~/.zshrc
  • miseのversion確認とcommandが通っているかの確認
mise --version
  • 以下のような表示が出ればOKです。
              _                                        __              
   ____ ___  (_)_______        ___  ____        ____  / /___ _________
  / __ `__ \/ / ___/ _ \______/ _ \/ __ \______/ __ \/ / __ `/ ___/ _ \
 / / / / / / (__  )  __/_____/  __/ / / /_____/ /_/ / / /_/ / /__/  __/
/_/ /_/ /_/_/____/\___/      \___/_/ /_/     / .___/_/\__,_/\___/\___/
                                            /_/                 by @jdx
2025.4.4 macos-arm64 (2025-04-15)
mise WARN  mise version 2025.4.6 available

使用したいtoolのinstall

  • 使用したいtoolをinstallします。
  • ここでは試しにnodeをinstallしてみます。(latestのversionがinstallされます。)
mise install node
  • 正確にversionを指定したい場合は以下のようにversionを指定します。
mise install node@18.17.1
  • installできているか確認します。
mise list
  • 正常にinstallできていると以下のような表示が出ます。
Tool    Version  Source                      Requested 
node    23.11.0 

使用したいtoolのpathを通す

  • 上記までの状態で、nodeを叩いてもcommandが通りません。
  • 以下のcommandを実行して、pathを通します。
mise use node
  • pathが通ったか確認します。
node -v
  • 適宜先ほどinstallしたnodeのversionが表示されるはずです。

mise.tomlについて

  • この際にmise.tomlというファイルが該当のディレクトリに作成され、そのディレクトリでmiseが認識して使用されるtoolの情報が自動で記載されます。
mise.toml
[tools]
node = "latest"
  • mise.tomlは上記のように、miseで設定されたtoolのversion情報などを記載したファイルです。
  • このファイルは直接編集することも可能です。
  • mise.tomlがあるディレクトリで、以下の順でcommandを叩くと、mise.tomlで設定された環境が構築されるので、環境の再配布も楽です。
mise trust
mise install

よく使うmiseのcommand

# miseでinstallしたtool一覧
mise list

# toolのinstall
mise install <tool>

# toolのversionを指定してinstall
mise install <tool>@<version>

# pathを通す activate
mise use <tool>

# miseでの環境構築を許可
mise trust

Reference

Discussion

りすりす

mise.tomlがあるディレクトリで、以下の順でcommandを叩くと、mise.tomlで設定された環境が構築されるので、環境の再配布も楽です。

mise trust
mise use

細かいことで申し訳ありません。こちらのmise usemise installではないかと思います。

takumatakuma

全然細かくないです。

ご指摘ありがとうございます!

修正しました!