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

Проблемы с разрешениями в 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. Перейдите в Настройки → Инструменты → Терминал
  2. Нажмите на гиперссылку “Настроить привязки клавиш терминала” рядом с “Переопределить сочетания клавиш IDE”
  3. В привязках клавиш терминала прокрутите вниз до “Переключить фокус на редактор” и удалите это сочетание клавиш

Это позволит клавише ESC правильно функционировать для отмены операций Claude Code, вместо того чтобы перехватываться действием PyCharm “Переключить фокус на редактор”.

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

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

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