🧠 Codex(WSL / Windows 共存)トラブルシュートまとめ
📌 背景
- 環境:
- Windows 10
- WSL2(Ubuntu)
- Node.js(nvm管理)
- 目的:
- Windows と WSL の両方で Codex を共存させる
❗ 発生していた問題
WSLで codex 実行時にエラー:
Error: Missing optional dependency @openai/codex-linux-x64
🔍 原因
which codex
→ /mnt/c/Users/.../npm/codex (Windows側)
which node
→ /home/.../.nvm/.../node (WSL側)
👉 Windows版codex + Linux版node の不整合
🧠 何が起きていたか
WSL(Linux環境)
↓
Windowsのcodexを実行
↓
Linux用依存(codex-linux-x64)を探す
↓
見つからずエラー
⚠️ なぜこうなったか
WSLの仕様:
WindowsのPATHを自動で引き継ぐ
そのため:
Linuxにcodexが無い
→ PATH後方のWindowsを拾う
🛠 実施した対処
① WSL側にCodexをインストール
npm install -g @openai/codex@latest
② PATHの状態確認
type -a codex
結果:
codex is /home/.../.nvm/.../bin/codex ← WSL側
codex is /mnt/c/.../npm/codex ← Windows側
③ フルパスで動作確認
/home/.../.nvm/.../bin/codex
👉 正常起動を確認
④ PATH優先順位の改善
結果的に:
type -a codex
1. /home/.../.nvm/.../bin/codex ← 優先される
2. /mnt/c/.../npm/codex
👉 フルパス不要で起動可能に
✅ 最終状態
WSL側
node → Linux版
codex → Linux版
Windows側
node → Windows版
codex → Windows版
👉 完全分離・共存成功
⚠️ 注意点
1. PATH順序が重要
先に見つかったコマンドが実行される
2. 再発リスク
以下で順序が変わる可能性あり:
- Node再インストール
- .bashrc変更
- VSCode設定変更
🔒 安定化設定(推奨)
.bashrc
# nvm優先
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
(任意)Windows npmを除外
export PATH=$(echo $PATH | tr ':' '\n' | grep -v '/mnt/c/Users/{username}/AppData/Roaming/npm' | paste -sd ':' -)
💡 補足
Claude / Gemini が動く理由
・単体バイナリ or API型
・OS依存が弱い
Codex が壊れる理由
・npm依存(OS別バイナリ)
・環境不一致に弱い
🧩 今回の本質
NG:
WSL → Windows codex
OK:
WSL → Linux codex
Windows → Windows codex
🎯 結論
👉 「PATH優先順位を制御すれば共存可能」
🚀 今後の推奨構成
Windows
・Claude
・Gemini
・GUI系
WSL
・Codex
・OpenClaw
・開発実行環境