新しい MacBook Pro を買ったので Git・Node.js・Python をセットアップした備忘録

新しい MacBook Pro を買ったので、開発環境を入れ直しました。

Node.js と Python をそれぞれ nodenv と pyenv で管理する方法もありますが、言語ごとに別のツールを使う構成にはしたくありませんでした。複数の言語やツールをまとめて扱える、モダンな仕組みにしたかったため、今回は mise を使います。

Git、Node.js、Python を使える状態にするため、ツールごとに役割を分けています。

対象管理方法
Git と補助ツールHomebrew
Node.js と Python のバージョンmise
Python の依存関係uv
GitHub の認証GitHub CLI による HTTPS の Web 認証

前提

今回の MacBook Pro には、Homebrew を導入済みです。まず、Mac の CPU と Homebrew の場所を確認します。

uname -m
brew --prefix

Apple Silicon Mac では、Homebrew の場所は通常 /opt/homebrew です。

Command Line Tools と、macOS 付属の Git も確認しておきます。

xcode-select -p
git --version

Command Line Tools が未導入の場合は、次のコマンドで導入できます。

xcode-select --install

Git と mise を Homebrew で導入する

Git と mise を Homebrew から導入します。

brew install git mise

macOS には Apple 付属の Git が最初から入っていますが、今回は Homebrew 版を使うことにしました。

Homebrew 版のほうがバージョンを管理しやすく、ほかの開発ツールと管理方法を統一できます。

mise を zsh で有効にする

~/.zshrc に Homebrew と mise の初期化設定を追加します。

Apple Silicon Mac の場合は、次の設定にしました。

eval "$(/opt/homebrew/bin/brew shellenv)"
eval "$(/opt/homebrew/bin/mise activate zsh)"

設定後、新しいシェルを起動するか、次のコマンドで読み込み直します。

source ~/.zshrc

mise が正しく有効になっているか確認します。

mise doctor

Node.js と Python を mise で管理する

2026年9月時点では、Node.js 24 が LTS、26 が Current でした。安定性を優先して、Node.js 24 を選びます。

Python は 3.14 が安定版で、3.15 はまだリリース候補版でした。そのため、Python 3.14 を選びました。

mise use --global node@24 python@3.14

実際にインストールされたバージョンは次のとおりです。

ランタイム選んだ系列実際に入ったバージョン
Node.js24(LTS)24.21.0
Python3.14(安定版)3.14.7

次のコマンドで確認できます。

mise current
node --version
npm --version
python3 --version

mise use --global で設定した内容は、次のファイルに保存されます。

Sponsored

~/.config/mise/config.toml

プロジェクトごとのバージョン指定

グローバル設定は個人の標準バージョンとして使い、プロジェクトではリポジトリごとに設定します。

cd your-project
mise use node@24 python@3.14

これで、プロジェクト直下に mise.toml が作成されます。

チームでバージョンを完全に固定したい場合は、具体的なバージョンを指定します。

mise use --pin node@24.21.0 python@3.14.7

作成された mise.toml は、通常リポジトリにコミットします。

Python の依存関係管理に uv を使う

Python 本体のバージョン管理は mise、パッケージや仮想環境の管理は uv に分担させます。

brew install uv

導入後、バージョンを確認します。

uv --version

新しい Python プロジェクトでは、次のように始められます。

mkdir sample-python
cd sample-python
uv init
uv add requests
uv run python

pyproject.toml と uv.lock を使って依存関係を管理できます。

グローバル環境へ pip install するのではなく、プロジェクト単位で管理する方針にしました。

GitHub の認証を設定する

以前の Mac では、おそらく GitHub の Web 認証を使っていました。SSH 鍵は GitHub アカウントに登録されていなかったため、今回は SSH ではなく HTTPS 認証を使います。

まず、GitHub CLI を導入します。

brew install gh

ブラウザ認証を始めます。

gh auth login \
  --hostname github.com \
  --git-protocol https \
  --web

ブラウザが自動で開かない場合は、表示された URL を手動で開き、デバイスコードを入力してください。

認証後は、GitHub CLI の認証情報を Git から使える状態にします。

gh auth setup-git --hostname github.com

認証状態は、次のコマンドで確認できます。

gh auth status --hostname github.com

通常の macOS 環境では、認証情報はキーチェーンに保存されます。アクセストークンを直接メモしたり、コマンドへ貼り付けたりする必要はありません。

既存リポジトリで接続を確認する

既存リポジトリへ移動し、リモート URL を確認します。

cd path/to/your-repository
git remote -v

次のように https://github.com/... 形式なら、今回の HTTPS 認証を利用できます。

origin  https://github.com/example/example.git

最後に、リモートから取得して確認します。

git fetch origin

リモート URL が SSH 形式の場合は、HTTPS 形式へ変更できます。

git remote set-url origin https://github.com/OWNER/REPOSITORY.git

Git のユーザー情報を設定する

GitHub の認証とは別に、コミットへ記録する名前とメールアドレスも設定します。

git config --global user.name "Your Name"
git config --global user.email "you@example.com"

設定を確認します。

git config --global --list

最終的な構成

最終的には、Homebrew でツールを導入し、mise で Node.js と Python を管理します。Python の依存関係は uv、GitHub の HTTPS 認証は GitHub CLI が担当します。

今回の試行錯誤

最初は、Node.js に nodenv、Python に pyenv を使う方法も考えました。

Sponsored

ただ、現在は複数の言語やツールをまとめて管理できる mise のほうが構成をシンプルにできます。

Node.js は最新版ではなく LTS を選びました。新機能をすぐ試す必要がなければ、Node.js 24 のような LTS 版のほうがプロジェクト開発には向いています。

Python についても、今回の環境に入っていた macOS 付属の Python 3.9.6 を置き換えるのではなく、mise で Python 3.14 を導入しました。

システム側の Python に手を入れず、開発用のランタイムだけを切り替えられる点が扱いやすいところです。

nodenv や pyenv は、既存プロジェクトで指定されている場合を除き、これから新規に採用する必要はなさそうです。

参考

mise 公式ドキュメント

Node.js リリーススケジュール

Python 公式ダウンロード

GitHub CLI 認証

GitHub CLI と Git の連携