Windows + WSLユーザーが初めてMacBookでClaude Code環境を作ってPATHとGitHub認証で詰まった話
はじめに
これまで私はWindowsをメインで使っており、開発環境は主にWSL上に構築していました。
今回、MacBookを使い始めることになり、Claude Codeを使った開発環境を整えようとしました。
ただ、Mac自体が初めてだったため、想像以上に細かいところで詰まりました。
具体的には、以下のようなポイントです。
- 開発用フォルダはどこに作るべきか
- HomebrewはMacに標準で入っているのか
-
/bin/bashと/bin/zshはどう違うのか - Claude Codeを入れたのに
claudeコマンドが見つからない - GitHubのリモートリポジトリをcloneしようとしたらパスワード認証で失敗する
-
git loginというコマンドは存在しない
この記事では、Windows + WSL経験者がMacBookでClaude Code開発環境を作るまでに詰まったポイントを、実際の流れに沿って整理します。
同じようにWindowsからMacへ移行する人の参考になれば幸いです。
前提環境
今回の環境は以下です。
ProductName: macOS
ProductVersion: 26.4.1
Architecture: arm64
CPU: Apple M5 Pro
Shell: zsh
Home: /Users/zawa
Macでは、ユーザーのホームディレクトリは以下になります。
/Users/zawa
Windowsでいうと、ざっくり以下に近いです。
C:\Users\zawa
WSLでいうと、以下に近い感覚です。
/home/zawa
1. 開発用フォルダはどこに作るべきか
最初に迷ったのが、開発用フォルダをどこに作るべきかでした。
Windowsでは、WSL上のホームディレクトリ配下にプロジェクトを置いていました。
Macでも同じように、ホームディレクトリ直下に dev を作ることにしました。
pwd
結果は以下でした。
/Users/zawa
ここで以下を実行します。
mkdir -p ~/dev
用途別に分けるなら、最初から以下のように作っておくと便利です。
mkdir -p ~/dev/{work,personal,learning,experiments,archived}
構成イメージは以下です。
/Users/zawa/
└── dev/
├── work/
├── personal/
├── learning/
├── experiments/
└── archived/
避けたほうがよさそうな場所
開発用プロジェクトは以下には置かないことにしました。
~/Desktop
~/Downloads
~/Documents
iCloud Drive配下
理由は、
-
Desktopは散らかりやすい -
Downloadsは一時ファイル置き場 -
Documentsは書類と混ざる - iCloud Drive配下は
.gitやnode_modulesの同期で面倒になりやすい
Windows + WSLで /home/user/dev に置いていた人なら、Macでは ~/dev が自然だと思います。
2. HomebrewはMac標準ではなかった
次に、Claude Codeを入れるためにNode.jsとnpmが必要になりました。
そこで確認しました。
node -v
npm -v
brew --version
結果は以下です。
zsh: command not found: node
zsh: command not found: npm
zsh: command not found: brew
ここで初めて、HomebrewはMacに標準で入っているわけではないことを知りました。
Windowsでいうと、HomebrewはPowerShellではなく、winget や Chocolatey に近いものです。
対応関係としては、ざっくり以下です。
| Windows / WSL | Mac |
|---|---|
| PowerShell | Terminal + zsh |
| winget / Chocolatey | Homebrew |
| WSLのapt | Homebrewに近い |
C:\Users\zawa |
/Users/zawa |
WSLの /home/zawa
|
/Users/zawa |
つまり、Macにはシェルとして zsh は入っていますが、パッケージマネージャとしてのHomebrewは自分で入れる必要があります。
3. Homebrewのインストールで /bin/bash を使う理由
Homebrewのインストールコマンドは以下です。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
ここで少し迷いました。
自分のMacの標準シェルは zsh です。
echo $SHELL
結果は以下でした。
/bin/zsh
では、なぜHomebrewのインストールでは /bin/bash を使うのか。
結論としては、Homebrewの公式インストールスクリプトがbashで実行される前提だからです。
これは、普段使うシェルをbashに変えるという意味ではありません。
普段のTerminal操作: /bin/zsh
Homebrewインストーラの実行: /bin/bash
なので、公式コマンドはそのまま実行して問題ありません。
4. Homebrewインストール後はPATH設定が必要
Homebrewをインストールした後、そのままでは brew が見つからないことがあります。
Apple Silicon Macの場合、Homebrewは通常以下に入ります。
/opt/homebrew
そのため、以下を実行してPATHを通します。
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
確認します。
brew --version
バージョンが表示されればOKです。
5. Node.jsとnpmを入れる
Homebrewが使えるようになったら、Node.jsを入れます。
brew install node
確認します。
node -v
npm -v
私の環境では以下のようになりました。
node -v
# v25.9.0
npm -v
# 11.12.1
これでClaude Codeを入れる準備ができました。
6. Claude Codeをインストールする
Claude Codeは以下でインストールしました。
curl -fsSL https://claude.ai/install.sh | bash
実行結果は以下のような内容でした。
✔ Claude Code successfully installed!
Version: 2.1.126
Location: ~/.local/bin/claude
Next: Run claude --help to get started
⚠ Setup notes:
● Native installation exists but ~/.local/bin is not in your PATH. Run:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc
一見成功しています。
しかし、直後に以下を実行すると失敗しました。
claude --version
結果は以下です。
zsh: command not found: claude
7. Claude Codeは入っているが、PATHが通っていなかった
インストールログには以下が出ていました。
Location: ~/.local/bin/claude
つまり、Claude Code自体は以下に存在しています。
/Users/zawa/.local/bin/claude
実際にフルパスで実行すると、バージョンが表示されました。
~/.local/bin/claude --version
結果は以下です。
2.1.126 (Claude Code)
つまり、問題はClaude Codeがインストールされていないことではなく、~/.local/bin がPATHに入っていないことでした。
以下を実行します。
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
その後、再度確認します。
claude --version
結果は以下です。
2.1.126 (Claude Code)
これでClaude Codeが使えるようになりました。
8. ~/.claude は存在していたが、コマンドとは別問題
途中で以下も確認しました。
ls -la ~ | grep claude
結果は以下です。
drwxr-xr-x 7 zawa staff 224 5月 4 11:42 .claude
-rw-------@ 1 zawa staff 639 5月 4 11:42 .claude.json
~/.claude は存在していました。
ただし、これはClaude Codeの設定・キャッシュ系のディレクトリであり、claude コマンドが使えるかどうかとは別問題でした。
今回の問題は、CLI本体の配置先である以下がPATHに入っていなかったことです。
~/.local/bin
9. GitHubのリモートリポジトリcloneで詰まる
Claude Codeが使えるようになったので、次にGitHubのリポジトリをcloneしようとしました。
cd ~/dev
git clone https://github.com/zawazawa5809/xxx.git
すると、ユーザー名とパスワードを聞かれました。
Username for 'https://github.com':
Password for 'https://...@github.com':
GitHubのユーザー名やメールアドレス、パスワードを入力しましたが、失敗しました。
remote: Invalid username or token. Password authentication is not supported for Git operations.
fatal: Authentication failed for 'https://github.com/zawazawa5809/prompt-vault.git/'
ここでのポイントは、GitHubはGit操作において通常のパスワード認証をサポートしていないということです。
つまり、以下はダメです。
Username: GitHubユーザー名
Password: GitHubログインパスワード
GitHubでHTTPS cloneを使う場合は、Personal Access Tokenを使うか、GitHub CLIで認証する必要があります。
10. git login は存在しない
ログインしようとして、以下も試しました。
git login
結果は以下です。
git: 'login' is not a git command.
Git自体には login コマンドはありません。
GitHubへのログインは、GitではなくGitHub側の認証を設定する必要があります。
11. GitHub CLIでログインする
今回はGitHub CLIを使うことにしました。
まずインストールします。
brew install gh
確認します。
gh --version
次にログインします。
gh auth login
途中の選択肢は、まず以下で進めました。
GitHub.com
HTTPS
Authenticate Git with your GitHub credentials? Yes
Login with a web browser
ブラウザが開くので、GitHubにログインして認証します。
認証状態を確認します。
gh auth status
必要に応じてGit連携も設定します。
gh auth setup-git
その後、再度cloneします。
cd ~/dev
git clone https://github.com/zawazawa5809/xxx.git
これで無事にリモートリポジトリをcloneできました。
12. 今回の最終的なセットアップ手順
最終的には、以下の流れでした。
# 開発用フォルダ作成
mkdir -p ~/dev/{work,personal,learning,experiments,archived}
# Homebrewインストール
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# HomebrewのPATH設定
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
# Node.js / npmインストール
brew install node
# Claude Codeインストール
curl -fsSL https://claude.ai/install.sh | bash
# Claude CodeのPATH設定
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# Claude Code確認
claude --version
# GitHub CLIインストール
brew install gh
# GitHubログイン
gh auth login
gh auth status
gh auth setup-git
# リポジトリclone
cd ~/dev
git clone https://github.com/zawazawa5809/xxx.git
Windows + WSLユーザー目線での学び
1. Macのホームディレクトリは /Users/ユーザー名
WSLの /home/ユーザー名 に近い感覚で使えます。
/Users/zawa
開発用には以下を作ると分かりやすいです。
~/dev
2. HomebrewはMac標準ではない
Mac開発者の間ではほぼ標準のように扱われていますが、初期状態では入っていません。
brew --version
# command not found
これは異常ではありません。
3. zsh と bash は用途が違う
普段使うシェルは zsh です。
/bin/zsh
Homebrewのインストーラは bash で実行しました。
/bin/bash -c "..."
これは矛盾ではありません。
4. インストール成功とコマンド認識は別
Claude Codeのインストールは成功していても、以下が失敗することがあります。
claude --version
その場合は、まずフルパスで確認します。
~/.local/bin/claude --version
これで動くなら、PATHの問題です。
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
5. GitHubのパスワード認証は使えない
HTTPSでcloneするときにパスワードを聞かれても、GitHubのログインパスワードは使えません。
以下のどれかが必要です。
- Personal Access Token
- GitHub CLIによる認証
- SSHキー認証
Mac初心者には、まずGitHub CLIが楽でした。
brew install gh
gh auth login
まとめ
Windows + WSLからMacに移行して感じた一番の違いは、以下です。
Windows / WSLでは当たり前に使っていた感覚を、Macでは一つずつ対応付ける必要がある
特に詰まったのはこのあたりでした。
開発用フォルダの場所
Homebrewが標準ではないこと
bashとzshの使い分け
PATH設定
Claude Codeのインストール場所
GitHub認証
最終的に、MacでClaude Codeを使うためには以下を理解しておくとスムーズでした。
~/dev にプロジェクトを置く
Homebrewで開発ツールを入れる
zshの設定は ~/.zshrc / ~/.zprofile に書く
コマンドが見つからないときはPATHを疑う
GitHub認証は gh auth login を使う
Macは最初から開発環境が全部そろっているわけではありません。
ただし、一度Homebrew、Node.js、Claude Code、GitHub CLIまで入れてしまえば、WSLに近い感覚でターミナル中心の開発ができそうです。
Windows + WSLからMacに移行する人は、最初にこのあたりで詰まりやすいと思うので、同じような状況の人の参考になれば幸いです。