⚠️

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 が見つからないエラーが発生

解決手順

  1. 古い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
  1. PATHの重複を整理
    .zshrc ファイルを編集して、重複したPATHエントリを削除します:
    bash# バックアップを作成
cp ~/.zshrc ~/.zshrc.backup

.zshrcを編集

nano ~/.zshrc
重複を削除した例:
bash# pnpm のパス
export PATH="HOME/Library/pnpm: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