Распространенные проблемы при установке

Проблемы с правами доступа в Linux

При установке Claude Code через npm вы можете столкнуться с ошибками прав доступа, если ваш глобальный префикс npm недоступен для записи пользователем (например, /usr или /use/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
    
    # Убедитесь, что /usr/local принадлежит вашему пользователю для пакетов npm
    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. Следуйте шагам 6-8 из метода восстановления Ubuntu/Debian выше

После восстановления системы следуйте рекомендованному решению выше для настройки доступного для записи префикса 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. Используйте команду /bug внутри Claude Code для прямого сообщения о проблемах в Anthropic
  2. Проверьте репозиторий GitHub на наличие известных проблем
  3. Запустите /doctor для проверки состояния вашей установки Claude Code