0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Macを初めて使ってみたWindowsユーザ#第1章ーーー開発環境をセットアップするーーー

0
Posted at

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配下は .gitnode_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. zshbash は用途が違う

普段使うシェルは 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に移行する人は、最初にこのあたりで詰まりやすいと思うので、同じような状況の人の参考になれば幸いです。

0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?