Claude Code で "Cannot find module './yoga.wasm'" エラーが発生した時の解決方法
問題の概要
Claude Code をインストール後、以下のようなエラーが発生しました:
Error: Cannot find module './yoga.wasm'
Require stack:
- /Users/username/.nvm/versions/node/v20.13.0/lib/node_modules/@anthropic-ai/claude-code/cli.js
最初に試したこと
公式のトラブルシューティング情報として、GitHub Issue #1103 を確認しました。こちらには一般的な解決方法が記載されていますが、pnpm を使用している環境では解決できませんでした。
環境情報
Node.js: v20.13.0 (nvm管理)
パッケージマネージャー: pnpm v10.8.0
OS: macOS
エラーの根本原因
このエラーは、npm と pnpm の両方で Claude Code をインストールした際に発生するPATH競合が原因でした。
具体的には:
- 最初に npm でインストールした Claude Code が /Users/username/.nvm/versions/node/v20.13.0/bin/claude に配置
- 後から pnpm でインストールし直しても、PATH上でnvmの方が優先される
- 古いnpmバージョンが実行され、依存関係の不整合で yoga.wasm が見つからないエラーが発生
解決手順
- 古いnpmバージョンを強制削除
通常のアンインストールでエラーが出る場合は、強制削除します:
bash# 通常のアンインストールを試す
npm uninstall -g @anthropic-ai/claude-code
エラーが出る場合は強制削除
sudo rm -rf ~/.nvm/versions/node/v20.13.0/lib/node_modules/@anthropic-ai/claude-code
sudo rm -f ~/.nvm/versions/node/v20.13.0/bin/claude
sudo rm -f ~/.nvm/versions/node/v20.13.0/bin/cc
- PATHの重複を整理
.zshrc ファイルを編集して、重複したPATHエントリを削除します:
bash# バックアップを作成
cp ~/.zshrc ~/.zshrc.backup
.zshrcを編集
nano ~/.zshrc
重複を削除した例:
bash# pnpm のパス
export PATH="
NVM設定
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
その他必要なパス(重複削除済み)
export PATH="$HOME/.codeium/windsurf/bin:$PATH"
export PATH="/opt/homebrew/bin:$PATH"
設定を再読み込み
bashsource ~/.zshrc
pnpmでのClande Codeが正しく動作するか確認
bashwhich claude
claude --version
pnpm特有の注意点
pnpm を使用する場合、以下の点に注意が必要です:
グローバルインストール時のビルド承認
bashpnpm install -g @anthropic-ai/claude-code
pnpm approve-builds -g
global-bin-dirの設定確認
bashpnpm config get global-bin-dir
pnpm config get global-dir
undefined が返される場合は設定が必要です:
bashpnpm config set global-dir ~/Library/pnpm/global
pnpm config set global-bin-dir ~/Library/pnpm
トラブルシューティング
まだ動かない場合の代替案
方法1: 完全に pnpm で管理
bash# 全てのClaude Codeを削除
npm uninstall -g @anthropic-ai/claude-code
sudo rm -rf ~/.nvm/versions/node/*/lib/node_modules/@anthropic-ai/claude-code
sudo rm -f ~/.nvm/versions/node/*/bin/claude
pnpmで再インストール
pnpm install -g @anthropic-ai/claude-code
pnpm approve-builds -g
方法2: ローカルインストール + npx
bashmkdir ~/claude-workspace
cd ~/claude-workspace
pnpm init -y
pnpm add @anthropic-ai/claude-code
npx claude
方法3: pnpm dlx (一時実行)
bashpnpm dlx @anthropic-ai/claude-code
予防策
今後同様の問題を避けるため:
一つのパッケージマネージャーに統一: npm または pnpm のどちらかに統一する
PATHの整理: 定期的に .zshrc のPATH設定を見直し、重複を削除する
which コマンドで確認: インストール後は which claude で正しいパスが参照されているか確認する
まとめ
このエラーは Claude Code 固有の問題ではなく、複数のパッケージマネージャーによるPATH競合が原因でした。特に nvm + pnpm の組み合わせで発生しやすく、古いバイナリファイルの物理削除とPATH整理が解決の鍵となります。
同様のエラーに遭遇した場合は、まず which claude でどのバイナリが実行されているかを確認し、不要な古いバージョンを削除することから始めてください。
Discussion