WSL環境Ubuntuでのclaude-code, gemini-cliインストールエラー(EACCESエラー)解決方法

問題の概要

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のグローバルディレクトリ変更) で対応しました。

理由:

  1. セキュリティ: sudoを使わずに済む
  2. 将来性: 他のグローバルパッケージでも同様の問題を回避
  3. クリーンな環境: ユーザー固有の設定を保持

関連情報