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

Проблемы с разрешениями в Linux

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

Если вы предпочитаете отключить автообновление, вы можете установить переменную окружения DISABLE_AUTOUPDATER в 1

Разрешения и аутентификация

Повторяющиеся запросы разрешений

Если вы постоянно одобряете одни и те же команды, вы можете разрешить конкретным инструментам работать без одобрения, используя команду /permissions. См. документацию по разрешениям.

Проблемы с аутентификацией

Если вы испытываете проблемы с аутентификацией:

  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

Команда зависает или замерзает

Если Claude Code кажется неотзывчивым:

  1. Нажмите Ctrl+C, чтобы попытаться отменить текущую операцию
  2. Если не отвечает, вам может потребоваться закрыть терминал и перезапустить

Клавиша ESC не работает в терминалах JetBrains (IntelliJ, PyCharm и т.д.)

Если вы используете Claude Code в терминалах JetBrains и клавиша ESC не прерывает агента как ожидается, это, вероятно, связано с конфликтом привязок клавиш с стандартными ярлыками JetBrains.

Чтобы исправить эту проблему:

  1. Перейдите в Settings → Tools → Terminal
  2. Нажмите гиперссылку “Configure terminal keybindings” рядом с “Override IDE Shortcuts”
  3. В привязках клавиш терминала прокрутите вниз до “Switch focus to Editor” и удалите этот ярлык

Это позволит клавише ESC правильно функционировать для отмены операций Claude Code вместо захвата действием PyCharm “Switch focus to Editor”.

Получение дополнительной помощи

Если вы испытываете проблемы, не рассмотренные здесь:

  1. Используйте команду /bug в Claude Code для прямого сообщения о проблемах в Anthropic
  2. Проверьте репозиторий GitHub на известные проблемы
  3. Выполните /doctor для проверки состояния вашей установки Claude Code