
問題の概要
WSL(Windows Subsystem for Linux)のUbuntu環境で@anthropic-ai/claude-codeをグローバルインストールしようとした際に、以下のようなEACCESエラーが発生する。
@google/gemini-cliをインストールするときにも同様の問題が発生する。
エラーの詳細
npm error code EACCES npm error syscall mkdir npm error path /usr/lib/node_modules/@anthropic-ai npm error errno -13 npm error Error: EACCES: permission denied, mkdir '/usr/lib/node_modules/@anthropic-ai'
このエラーは、npmが/usr/lib/node_modules/ディレクトリに書き込む権限がないために発生する。
解決方法
方法1: sudoを使用してインストール
最も簡単な方法
sudo npm install -g @anthropic-ai/claude-code
メリット: 即座に解決できる
デメリット: セキュリティ上の懸念、今後も同様の問題が発生する可能性
方法2: npmのグローバルディレクトリを変更
最も推奨される方法 - 今後のグローバルインストールでも権限問題を回避できます。
# npmのグローバルディレクトリをホームディレクトリ内に設定 mkdir ~/.npm-global npm config set prefix '~/.npm-global' # パスを追加(.bashrcまたは.zshrcに追加) echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc source ~/.bashrc # claude-codeをインストール npm install -g @anthropic-ai/claude-code
メリット: - セキュリティが向上 - 今後のグローバルパッケージインストールで権限問題が発生しない - ユーザー固有の環境を保持
方法3: npxを使用(一時的な解決策)
インストールせずに直接実行する場合
npx @anthropic-ai/claude-code
メリット: インストール不要
デメリット: 毎回ダウンロードが必要、永続的な解決策ではない
方法4: ディレクトリの所有権を変更
sudo chown -R $(whoami) /usr/lib/node_modules npm install -g @anthropic-ai/claude-code
メリット: 既存の構造を維持
デメリット: システム全体の所有権を変更するためリスクがある
インストール確認
インストール後は以下のコマンドで正常に動作することを確認してください:
claude-code --help
自分が採用した方法
方法2(npmのグローバルディレクトリ変更) で対応しました。
理由:
- セキュリティ: sudoを使わずに済む
- 将来性: 他のグローバルパッケージでも同様の問題を回避
- クリーンな環境: ユーザー固有の設定を保持