Устранение неполадок
Это руководство содержит решения распространённых проблем и советы по отладке, включая следующие темы:
- Ошибки аутентификации или входа в систему
- Часто задаваемые вопросы (FAQ)
- Советы по отладке
- Существующие проблемы на GitHub, схожие с вашей, или создание новых проблем
Ошибки аутентификации или входа в систему
-
Ошибка:
UNABLE_TO_GET_ISSUER_CERT_LOCALLY,UNABLE_TO_VERIFY_LEAF_SIGNATUREилиunable to get local issuer certificate- Причина: Вы, возможно, находитесь в корпоративной сети с брандмауэром, который перехватывает и проверяет трафик SSL/TLS. Это часто требует доверия к пользовательскому корневому сертификату центра сертификации (CA) со стороны Node.js.
- Решение: Установите переменную окружения
NODE_EXTRA_CA_CERTS, указав абсолютный путь к файлу корневого сертификата CA вашей организации.- Пример:
export NODE_EXTRA_CA_CERTS=/путь/к/вашему/corporate-ca.crt
- Пример:
-
Ошибка:
Device authorization flow failed: fetch failed- Причина: Node.js не может получить доступ к конечным точкам OAuth Qwen (часто из-за прокси-сервера или проблем с доверием SSL/TLS). При наличии Qwen Code также выводит основную причину ошибки (например:
UNABLE_TO_VERIFY_LEAF_SIGNATURE). - Решение:
- Убедитесь, что вы можете открыть
https://chat.qwen.aiс того же компьютера и в той же сети. - Если вы используете прокси-сервер, укажите его с помощью команды
qwen --proxy <url>(или установите параметрproxyв файлеsettings.json). - Если в вашей сети используется корпоративный CA для инспекции TLS, задайте переменную
NODE_EXTRA_CA_CERTS, как описано выше.
- Убедитесь, что вы можете открыть
- Причина: Node.js не может получить доступ к конечным точкам OAuth Qwen (часто из-за прокси-сервера или проблем с доверием SSL/TLS). При наличии Qwen Code также выводит основную причину ошибки (например:
-
Проблема: Не удается отобразить интерфейс после сбоя аутентификации
- Причина: Если аутентификация завершилась неудачно после выбора типа аутентификации, значение параметра
security.auth.selectedTypeможет быть сохранено в файлеsettings.json. При перезапуске CLI может «зависнуть», пытаясь выполнить аутентификацию с ранее неудачным типом и не отобразить интерфейс. - Решение: Удалите параметр
security.auth.selectedTypeиз файлаsettings.json:- Откройте
~/.qwen/settings.json(или./.qwen/settings.json— для настроек, специфичных для проекта) - Удалите поле
security.auth.selectedType - Перезапустите CLI, чтобы он снова предложил выбрать способ аутентификации
- Откройте
- Причина: Если аутентификация завершилась неудачно после выбора типа аутентификации, значение параметра
Часто задаваемые вопросы (FAQ)
-
В: Как обновить Qwen Code до последней версии?
- О: Если вы установили его глобально через
npm, обновите его с помощью командыnpm install -g @qwen-code/qwen-code@latest. Если вы собрали его из исходного кода, получите последние изменения из репозитория и выполните пересборку командойnpm run build.
- О: Если вы установили его глобально через
-
В: Где хранятся файлы конфигурации или настроек Qwen Code?
-
О: Конфигурация Qwen Code хранится в двух файлах
settings.json:- В вашем домашнем каталоге:
~/.qwen/settings.json. - В корневом каталоге вашего проекта:
./.qwen/settings.json.
Подробнее см. в разделе Конфигурация Qwen Code.
- В вашем домашнем каталоге:
-
-
В: Почему в выводе статистики не отображаются кэшированные подсчёты токенов?
- О: Информация о кэшированных токенах отображается только при использовании кэшированных токенов. Эта функция доступна пользователям API-ключей (Qwen API-ключ или Google Cloud Vertex AI), но недоступна пользователям, вошедшим через OAuth (например, личные или корпоративные учётные записи Google — Gmail или Google Workspace соответственно). Причина в том, что API Qwen Code Assist не поддерживает создание кэшированного контента. Тем не менее, общее количество использованных токенов можно посмотреть с помощью команды
/stats.
- О: Информация о кэшированных токенах отображается только при использовании кэшированных токенов. Эта функция доступна пользователям API-ключей (Qwen API-ключ или Google Cloud Vertex AI), но недоступна пользователям, вошедшим через OAuth (например, личные или корпоративные учётные записи Google — Gmail или Google Workspace соответственно). Причина в том, что API Qwen Code Assist не поддерживает создание кэшированного контента. Тем не менее, общее количество использованных токенов можно посмотреть с помощью команды
Распространённые сообщения об ошибках и способы их устранения
-
Ошибка:
EADDRINUSE(адрес уже используется) при запуске сервера MCP.- Причина: Другой процесс уже использует порт, к которому пытается привязаться сервер MCP.
- Решение:
Остановите другой процесс, использующий этот порт, или настройте сервер MCP на использование другого порта.
-
Ошибка: команда не найдена (при попытке запустить Qwen Code с помощью
qwen).- Причина: CLI установлен некорректно или его исполняемый файл отсутствует в переменной окружения
PATH. - Решение:
Способ обновления зависит от способа установки Qwen Code:- Если вы установили
qwenглобально, убедитесь, что глобальный каталог бинарных файловnpmприсутствует в вашей переменнойPATH. Обновите пакет командойnpm install -g @qwen-code/qwen-code@latest. - Если вы запускаете
qwenиз исходного кода, убедитесь, что используете правильную команду для его вызова (например,node packages/cli/dist/index.js ...). Чтобы обновить, получите последние изменения из репозитория и выполните пересборку командойnpm run build.
- Если вы установили
- Причина: CLI установлен некорректно или его исполняемый файл отсутствует в переменной окружения
-
Ошибка:
MODULE_NOT_FOUNDили ошибки импорта.- Причина: Зависимости установлены некорректно или проект ещё не собран.
- Решение:
- Выполните
npm install, чтобы убедиться, что все зависимости установлены. - Выполните
npm run build, чтобы собрать проект. - Убедитесь, что сборка завершилась успешно, выполнив
npm run start.
- Выполните
-
Ошибка: «Операция запрещена», «Отказано в доступе» или аналогичная.
- Причина: При включённой песочнице Qwen Code может пытаться выполнить операции, ограниченные конфигурацией песочницы — например, запись за пределами директории проекта или системной временной директории.
- Решение: Подробнее см. в документации Конфигурация: Песочница, включая инструкции по настройке конфигурации песочницы.
-
Qwen Code не работает в интерактивном режиме в средах «CI»
- Проблема: Qwen Code не переходит в интерактивный режим (приглашение не отображается), если задана переменная окружения, начинающаяся с
CI_(например,CI_TOKEN). Это происходит потому, что пакетis-in-ci, используемый базовой UI-библиотекой, обнаруживает такие переменные и делает вывод, что среда — неинтерактивная CI-среда. - Причина: Пакет
is-in-ciпроверяет наличие переменныхCI,CONTINUOUS_INTEGRATIONили любой переменной с префиксомCI_. При обнаружении любой из них он определяет среду как неинтерактивную, из-за чего CLI не запускается в интерактивном режиме. - Решение: Если переменная с префиксом
CI_не требуется для работы CLI, её можно временно удалить перед выполнением команды. Например:env -u CI_TOKEN qwen.
- Проблема: Qwen Code не переходит в интерактивный режим (приглашение не отображается), если задана переменная окружения, начинающаяся с
-
Режим отладки (
DEBUG) не включается из.env-файла проекта- Проблема: Установка
DEBUG=trueв.env-файле проекта не включает режим отладки для CLI. - Причина: Переменные
DEBUGиDEBUG_MODEавтоматически исключаются из.env-файлов проекта, чтобы предотвратить влияние на поведение CLI. - Решение: Вместо этого используйте файл
.qwen/.env, либо настройте параметрadvanced.excludedEnvVarsв вашем файлеsettings.json, чтобы исключать меньшее количество переменных.
- Проблема: Установка
Не удаётся подключиться к IDE Companion
- Убедитесь, что в VS Code открыта только одна рабочая папка.
- Перезапустите интегрированный терминал после установки расширения, чтобы он унаследовал следующие переменные среды:
QWEN_CODE_IDE_WORKSPACE_PATHQWEN_CODE_IDE_SERVER_PORT
- Если вы запускаете среду в контейнере, убедитесь, что имя
host.docker.internalразрешается. В противном случае настройте соответствующее сопоставление хоста. - Переустановите companion-приложение с помощью команды
/ide installи используйте команду «Qwen Code: Run» в палитре команд, чтобы проверить, запускается ли оно.
Коды завершения
Qwen Code использует специальные коды завершения для указания причины завершения работы. Это особенно полезно при написании скриптов и автоматизации.
| Код завершения | Тип ошибки | Описание |
|---|---|---|
| 41 | FatalAuthenticationError | Произошла ошибка во время процесса аутентификации. |
| 42 | FatalInputError | В интерфейсе командной строки указаны недопустимые или отсутствующие входные данные. (только в неинтерактивном режиме) |
| 44 | FatalSandboxError | Произошла ошибка в среде изоляции (например, Docker, Podman или Seatbelt). |
| 52 | FatalConfigError | Файл конфигурации (settings.json) недопустим или содержит ошибки. |
| 53 | FatalTurnLimitedError | Достигнуто максимальное количество реплик в диалоге для текущей сессии. (только в неинтерактивном режиме) |
Советы по отладке
-
Отладка CLI:
- Используйте флаг
--verbose(если доступен) с командами CLI для получения более подробного вывода. - Проверьте логи CLI, которые обычно находятся в пользовательской конфигурационной или кэш-директории.
- Используйте флаг
-
Отладка ядра:
- Проверьте вывод консоли сервера на наличие сообщений об ошибках или трассировок стека.
- Увеличьте детализацию логов, если это настраивается.
- Используйте инструменты отладки Node.js (например,
node --inspect), если требуется пошаговое выполнение серверного кода.
-
Проблемы с инструментами:
- Если конкретный инструмент завершается с ошибкой, попробуйте изолировать проблему, выполнив максимально упрощённую версию команды или операции, которую выполняет этот инструмент.
- Для
run_shell_commandсначала проверьте, работает ли команда напрямую в вашей оболочке. - Для инструментов файловой системы убедитесь в корректности путей и проверьте права доступа.
-
Предварительные проверки:
- Всегда запускайте
npm run preflightперед коммитом кода. Эта команда позволяет выявить множество распространённых проблем, связанных с форматированием, линтингом и ошибками типов.
- Всегда запускайте
Существующие проблемы на GitHub, похожие на вашу, или создание новых проблем
Если вы столкнулись с проблемой, которая не описана в этом руководстве по устранению неполадок, попробуйте выполнить поиск в трекере проблем Qwen Code на GitHub . Если вы не нашли проблему, похожую на вашу, создайте новую задачу на GitHub с подробным описанием. Также приветствуются пул-реквесты!