一般的なインストールの問題

Linuxのパーミッション問題

npmでClaude Codeをインストールする際、npmのグローバルプレフィックスがユーザーによって書き込み可能でない場合(例:/usr/usr/local)、パーミッションエラーが発生することがあります。

推奨される解決策:ユーザーが書き込み可能なnpmプレフィックスを作成する

最も安全なアプローチは、npmがホームフォルダ内のディレクトリを使用するように設定することです:

# まず、既存のグローバルパッケージのリストを後の移行のために保存
npm list -g --depth=0 > ~/npm-global-packages.txt

# グローバルパッケージ用のディレクトリを作成
mkdir -p ~/.npm-global

# 新しいディレクトリパスを使用するようにnpmを設定
npm config set prefix ~/.npm-global

# 注意:~/.bashrcは、使用しているシェルに応じて~/.zshrc、~/.profile、または他の適切なファイルに置き換えてください
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc

# 新しいPATH設定を適用
source ~/.bashrc

# 新しい場所にClaude Codeを再インストール
npm install -g @anthropic-ai/claude-code

# オプション:以前のグローバルパッケージを新しい場所に再インストール
# ~/npm-global-packages.txtを確認し、保持したいパッケージをインストール

この解決策が推奨される理由:

  • システムディレクトリのパーミッションを変更する必要がない
  • グローバルnpmパッケージ用の専用の場所を作成する
  • セキュリティのベストプラクティスに従っている

システムの復旧:システムファイルの所有権とパーミッションを変更するコマンドを実行した場合

システムディレクトリのパーミッションを変更するコマンド(例:sudo chown -R $USER:$(id -gn) /usr && sudo chmod -R u+w /usr)を実行してシステムが破損した場合(例:sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit setというエラーが表示される場合)、復旧手順を実行する必要があります。

Ubuntu/Debian復旧方法:
  1. 再起動時にSHIFTキーを押し続けてGRUBメニューにアクセス

  2. “Advanced options for Ubuntu/Debian”を選択

  3. リカバリーモードオプションを選択

  4. “Drop to root shell prompt”を選択

  5. ファイルシステムを書き込み可能として再マウント:

    mount -o remount,rw /
    
  6. パーミッションを修正:

    # rootの所有権を復元
    chown -R root:root /usr
    chmod -R 755 /usr
    
    # npmパッケージ用に/usr/localをユーザーが所有するように設定
    chown -R YOUR_USERNAME:YOUR_USERNAME /usr/local
    
    # 重要なバイナリにsetuidビットを設定
    chmod u+s /usr/bin/sudo
    chmod 4755 /usr/bin/sudo
    chmod u+s /usr/bin/su
    chmod u+s /usr/bin/passwd
    chmod u+s /usr/bin/newgrp
    chmod u+s /usr/bin/gpasswd
    chmod u+s /usr/bin/chsh
    chmod u+s /usr/bin/chfn
    
    # sudo設定を修正
    chown root:root /usr/libexec/sudo/sudoers.so
    chmod 4755 /usr/libexec/sudo/sudoers.so
    chown root:root /etc/sudo.conf
    chmod 644 /etc/sudo.conf
    
  7. 影響を受けたパッケージを再インストール(オプションですが推奨):

    # インストールされているパッケージのリストを保存
    dpkg --get-selections > /tmp/installed_packages.txt
    
    # それらを再インストール
    awk '{print $1}' /tmp/installed_packages.txt | xargs -r apt-get install --reinstall -y
    
  8. 再起動:

    reboot
    
代替のLive USB復旧方法:

リカバリーモードが機能しない場合、Live USBを使用できます:

  1. Live USB(Ubuntu、Debian、または任意のLinuxディストリビューション)から起動

  2. システムパーティションを見つける:

    lsblk
    
  3. システムパーティションをマウント:

    sudo mount /dev/sdXY /mnt  # sdXYを実際のシステムパーティションに置き換える
    
  4. 別のブートパーティションがある場合は、それもマウント:

    sudo mount /dev/sdXZ /mnt/boot  # 必要な場合
    
  5. システムにchroot:

    # Ubuntu/Debian用:
    sudo chroot /mnt
    
    # Archベースのシステム用:
    sudo arch-chroot /mnt
    
  6. 上記のUbuntu/Debian復旧方法のステップ6-8を実行

システムを復元した後、上記の推奨解決策に従ってユーザーが書き込み可能なnpmプレフィックスを設定してください。

自動更新の問題

Claude Codeが自動更新できない場合、npmグローバルプレフィックスディレクトリのパーミッションの問題が原因である可能性があります。上記の推奨解決策に従って修正してください。

代わりに自動更新を無効にする場合は、以下のコマンドを使用できます:

claude config set -g autoUpdaterStatus disabled

パーミッションと認証

繰り返しのパーミッション要求

同じコマンドを繰り返し承認する必要がある場合、特定のツールを承認なしで実行できるように設定できます:

# npm testを承認なしで実行できるようにする
claude config add allowedTools "Bash(npm test)"

# npm testとそのサブコマンドを承認なしで実行できるようにする
claude config add allowedTools "Bash(npm test:*)"

認証の問題

認証の問題が発生した場合:

  1. /logoutを実行して完全にサインアウト
  2. Claude Codeを閉じる
  3. claudeで再起動し、認証プロセスを再度完了する

問題が解決しない場合は、以下を試してください:

rm -rf ~/.config/claude-code/auth.json
claude

これにより保存された認証情報が削除され、クリーンなログインが強制されます。

パフォーマンスと安定性

高CPU使用率またはメモリ使用率

Claude Codeはほとんどの開発環境で動作するように設計されていますが、大規模なコードベースを処理する際に大量のリソースを消費する可能性があります。パフォーマンスの問題が発生した場合:

  1. /compactを定期的に使用してコンテキストサイズを削減
  2. 主要なタスク間でClaude Codeを閉じて再起動
  3. 大きなビルドディレクトリを.gitignore.claudeignoreファイルに追加することを検討

コマンドがハングまたはフリーズする

Claude Codeが応答しなくなった場合:

  1. Ctrl+Cを押して現在の操作のキャンセルを試みる
  2. 応答がない場合は、ターミナルを閉じて再起動する必要がある場合があります
  3. 問題が続く場合は、詳細なログを有効にしてClaudeを実行:claude --verbose

さらなるヘルプの取得

ここで説明されていない問題が発生した場合:

  1. Claude Code内で/bugコマンドを使用して問題を直接Anthropicに報告
  2. 既知の問題についてGitHubリポジトリを確認
  3. /doctorを実行してClaude Codeのインストールの健全性をチェック