mac を買ったので mise を使って環境構築してみた

はじめに

最近 MacBook を購入したので、開発環境を見直すことにしました。

以前は Node.js を直接インストールして開発していましたが、LTS の更新やセキュリティアップデートのたびに、バージョン管理や切り替えに手間を感じていました。そこで今回は、Node.js をはじめとした開発ツールをまとめて管理できる mise を使って、Node.js の開発環境を構築していきます。

本記事では、実際に環境構築を進めながら手順をまとめています。同じように開発環境を見直したいと考えている方の参考になれば幸いです。


mise ってなに?

mise は、Node.js や Python、Go などの開発ツールやランタイムを一元管理できる開発環境管理ツールです。プロジェクトごとに使用するツールのバージョンを設定でき、ディレクトリを移動すると自動で適切なバージョンへ切り替えてくれます。また、環境変数やタスクの管理にも対応しており、開発環境を再現性高く構築・共有できるのが特徴です。

なぜ mise を選ぶ?

今回 mise を使ってみようと思った理由は、以下の3つです。

  • Node.js を直接インストールせず、バージョン管理を簡単にしたい
  • Node.js だけでなく、Python など複数の開発ツールをまとめて管理したい
  • プロジェクトごとに使用するバージョンを切り替えられるようにしたい

nvm と比較した mise の強み

これまで Node.js のバージョン管理といえば nvm が定番でしたが、最近では mise に移行する人が増えています。nvm と比較した時の mise の大きな強みは以下の2点です。
  1. シェル起動が圧倒的に速い(もたつきがない) nvm はシェルの読み込み時に少し時間がかかることがあり、ターミナルを開くたびにもたつきを感じる原因になりがちでした。mise は Rust で作られており、動作が非常に高速なため、ターミナルがサクサク起動します。
  2. 他の言語やツールも一元管理できる nvm は Node.js 専用ですが、mise は Python や Go、pnpm など、開発に必要なさまざまなツールをまったく同じ操作感で管理できます。

この記事の前提

  • macOS
  • Homebrew をインストール済み


環境構築

1. mise のインストール

基本的には公式の案内に沿ってインストールを進めます。

Homebrew をインストール済みであれば、以下のコマンドを実行するだけでインストールできます。

brew install mise

正常にインストールできたか確認します。バージョンが表示されればインストール完了です。

mise --version

2. mise の有効化

インストールしただけでは、まだシェル上で自動切り替えなどの機能は有効になっていません。 そのため、まずは mise activate の設定をシェル設定ファイルに追記します。
zsh を使っている場合は、~/.zshrc に以下を追加します。
echo 'eval "$(mise activate zsh)"' >> ~/.zshrc

設定を反映するため、シェルを再読み込みします。

source ~/.zshrc

これで、ディレクトリごとのツール切り替えが使える状態になります。

3. Node.js をインストールする

次に、mise 経由で Node.js をインストールします。

まずは利用可能なバージョンを確認します。

mise ls-remote node

一覧が表示されたら、使いたいバージョンを選んでインストールします。LTS を使いたい場合は、以下のように実行します。

mise use -g node@lts
-g はグローバル設定です。これを実行すると、普段使いの Node.js バージョンとして登録されます。

インストール後、正しく切り替わっているか確認します。

node -v
npm -v

おわりに

今回は、新しく買った Mac で mise を使って Node.js の開発環境を構築する手順 をまとめました。

Node.js を直接インストールしていた頃に比べると、バージョン管理の負担がかなり減りそうです。mise は Node.js 以外のツールも同じ考え方で管理できるため、環境構築のたびに手順を調べ直す手間も減りそうです。

次回は、mise 経由で pnpm をインストールして使う方法 をまとめる予定です。npm の代替として pnpm を使うことで、インストール速度やディスク使用量の改善が期待できます。node と同じ感覚で管理できるので、興味がある方はぜひ続けて読んでみてください。