Solução de problemas
Este guia fornece soluções para problemas comuns e dicas de depuração, incluindo tópicos sobre:
- Erros de autenticação ou login
- Perguntas frequentes (FAQs)
- Dicas de depuração
- Issues existentes no GitHub semelhantes às suas ou criação de novas Issues
Erros de autenticação ou login
-
Erro:
UNABLE_TO_GET_ISSUER_CERT_LOCALLY,UNABLE_TO_VERIFY_LEAF_SIGNATUREouunable to get local issuer certificate- Causa: Você pode estar em uma rede corporativa com um firewall que intercepta e inspeciona o tráfego SSL/TLS. Isso geralmente exige que um certificado CA raiz personalizado seja confiável pelo Node.js.
- Solução: Defina a variável de ambiente
NODE_EXTRA_CA_CERTSpara o caminho absoluto do arquivo de certificado CA raiz corporativo.- Exemplo:
export NODE_EXTRA_CA_CERTS=/caminho/para/seu/certificado-ca-corporativo.crt
- Exemplo:
-
Erro:
Device authorization flow failed: fetch failed- Causa: O Node.js não conseguiu acessar os endpoints OAuth da Qwen (geralmente um problema de proxy ou confiança SSL/TLS). Quando disponível, o Qwen Code também imprimirá a causa subjacente do erro (por exemplo:
UNABLE_TO_VERIFY_LEAF_SIGNATURE). - Solução:
- Confirme se você consegue acessar
https://chat.qwen.aia partir da mesma máquina/rede. - Se estiver atrás de um proxy, configure-o via
qwen --proxy <url>(ou a configuraçãoproxyemsettings.json). - Se sua rede usar uma CA de inspeção TLS corporativa, defina
NODE_EXTRA_CA_CERTSconforme descrito acima.
- Confirme se você consegue acessar
- Causa: O Node.js não conseguiu acessar os endpoints OAuth da Qwen (geralmente um problema de proxy ou confiança SSL/TLS). Quando disponível, o Qwen Code também imprimirá a causa subjacente do erro (por exemplo:
-
Problema: Não é possível exibir a interface após falha de autenticação
- Causa: Se a autenticação falhar após selecionar um tipo de autenticação, a configuração
security.auth.selectedTypepode ser persistida emsettings.json. Ao reiniciar, a CLI pode travar tentando autenticar com o tipo de autenticação que falhou e não exibir a interface. - Solução: Limpe o item de configuração
security.auth.selectedTypeno seu arquivosettings.json:- Abra
~/.qwen/settings.json(ou./.qwen/settings.jsonpara configurações específicas do projeto) - Remova o campo
security.auth.selectedType - Reinicie a CLI para permitir que ela solicite autenticação novamente
- Abra
- Causa: Se a autenticação falhar após selecionar um tipo de autenticação, a configuração
Perguntas frequentes (FAQs)
-
P: Como faço para atualizar o Qwen Code para a versão mais recente?
- R: Se você instalou globalmente via
npm, atualize-o usando o comandonpm install -g @qwen-code/qwen-code@latest. Se compilou a partir do código-fonte, busque as últimas alterações do repositório e, em seguida, reconstrua usando o comandonpm run build.
- R: Se você instalou globalmente via
-
P: Onde os arquivos de configuração ou definições do Qwen Code são armazenados?
-
R: A configuração do Qwen Code é armazenada em dois arquivos
settings.json:- No seu diretório pessoal:
~/.qwen/settings.json. - No diretório raiz do seu projeto:
./.qwen/settings.json.
Consulte Configuração do Qwen Code para mais detalhes.
- No seu diretório pessoal:
-
-
P: Por que não vejo contagens de tokens em cache na saída das minhas estatísticas?
- R: As informações de tokens em cache só são exibidas quando os tokens em cache estão sendo utilizados. Esse recurso está disponível apenas para usuários com chave de API (chave da API Qwen ou Google Cloud Vertex AI), mas não para usuários OAuth (como contas pessoais ou corporativas do Google, como Gmail ou Google Workspace, respectivamente). Isso ocorre porque a API Qwen Code Assist não suporta a criação de conteúdo em cache. Você ainda pode visualizar seu uso total de tokens usando o comando
/stats.
- R: As informações de tokens em cache só são exibidas quando os tokens em cache estão sendo utilizados. Esse recurso está disponível apenas para usuários com chave de API (chave da API Qwen ou Google Cloud Vertex AI), mas não para usuários OAuth (como contas pessoais ou corporativas do Google, como Gmail ou Google Workspace, respectivamente). Isso ocorre porque a API Qwen Code Assist não suporta a criação de conteúdo em cache. Você ainda pode visualizar seu uso total de tokens usando o comando
Mensagens de erro comuns e soluções
-
Erro:
EADDRINUSE(Endereço já em uso) ao iniciar um servidor MCP.- Causa: Outro processo já está usando a porta à qual o servidor MCP está tentando se vincular.
- Solução: Pare o outro processo que está usando a porta ou configure o servidor MCP para usar uma porta diferente.
-
Erro: Comando não encontrado (ao tentar executar o Qwen Code com
qwen).- Causa: A CLI não está instalada corretamente ou não está no
PATHdo seu sistema. - Solução:
A atualização depende de como você instalou o Qwen Code:
- Se você instalou o
qwenglobalmente, verifique se o diretório binário global do seunpmestá no seuPATH. Você pode atualizar usando o comandonpm install -g @qwen-code/qwen-code@latest. - Se você está executando o
qwena partir do código-fonte, certifique-se de estar usando o comando correto para invocá-lo (por exemplo,node packages/cli/dist/index.js ...). Para atualizar, busque as últimas alterações do repositório e, em seguida, reconstrua usando o comandonpm run build.
- Se você instalou o
- Causa: A CLI não está instalada corretamente ou não está no
-
Erro:
MODULE_NOT_FOUNDou erros de importação.- Causa: As dependências não estão instaladas corretamente ou o projeto ainda não foi construído.
- Solução:
- Execute
npm installpara garantir que todas as dependências estejam presentes. - Execute
npm run buildpara compilar o projeto. - Verifique se a compilação foi concluída com sucesso com
npm run start.
- Execute
-
Erro: “Operação não permitida”, “Permissão negada” ou similar.
- Causa: Quando o sandboxing está habilitado, o Qwen Code pode tentar operações que são restritas pela sua configuração de sandbox, como gravar fora do diretório do projeto ou do diretório temporário do sistema.
- Solução: Consulte a documentação Configuração: Sandboxing para obter mais informações, incluindo como personalizar sua configuração de sandbox.
-
O Qwen Code não está sendo executado no modo interativo em ambientes “CI”
- Problema: O Qwen Code não entra no modo interativo (nenhum prompt aparece) se uma variável de ambiente começando com
CI_(por exemplo,CI_TOKEN) estiver definida. Isso ocorre porque o pacoteis-in-ci, usado pelo framework de interface do usuário subjacente, detecta essas variáveis e assume um ambiente CI não interativo. - Causa: O pacote
is-in-civerifica a presença deCI,CONTINUOUS_INTEGRATIONou qualquer variável de ambiente com prefixoCI_. Quando alguma dessas é encontrada, sinaliza que o ambiente é não interativo, o que impede que a CLI seja iniciada em seu modo interativo. - Solução: Se a variável com prefixo
CI_não for necessária para o funcionamento da CLI, você pode desativá-la temporariamente para o comando. Por exemplo:env -u CI_TOKEN qwen
- Problema: O Qwen Code não entra no modo interativo (nenhum prompt aparece) se uma variável de ambiente começando com
-
Modo DEBUG não funciona a partir do arquivo .env do projeto
- Problema: Definir
DEBUG=trueno arquivo.envde um projeto não ativa o modo de depuração para a CLI. - Causa: As variáveis
DEBUGeDEBUG_MODEsão automaticamente excluídas dos arquivos.envdo projeto para evitar interferência no comportamento da CLI. - Solução: Em vez disso, use um arquivo
.qwen/.envou configure a opçãoadvanced.excludedEnvVarsno seusettings.jsonpara excluir menos variáveis.
- Problema: Definir
IDE Companion não está conectando
- Verifique se o VS Code tem uma única pasta de workspace aberta.
- Reinicie o terminal integrado após instalar a extensão para que ele herde:
QWEN_CODE_IDE_WORKSPACE_PATHQWEN_CODE_IDE_SERVER_PORT
- Se estiver executando em um contêiner, verifique se
host.docker.internalé resolvido. Caso contrário, mapeie o host adequadamente. - Reinstale o companion com
/ide installe use “Qwen Code: Run” na Paleta de Comandos para verificar se ele é iniciado.
Códigos de Saída
O Qwen Code usa códigos de saída específicos para indicar o motivo da finalização. Isso é especialmente útil para scripts e automação.
| Código de Saída | Tipo de Erro | Descrição |
|---|---|---|
| 41 | FatalAuthenticationError | Ocorreu um erro durante o processo de autenticação. |
| 42 | FatalInputError | Foi fornecida entrada inválida ou ausente para a CLI. (modo não interativo apenas) |
| 44 | FatalSandboxError | Ocorreu um erro com o ambiente de sandboxing (por exemplo, Docker, Podman ou Seatbelt). |
| 52 | FatalConfigError | Um arquivo de configuração (settings.json) é inválido ou contém erros. |
| 53 | FatalTurnLimitedError | Foi atingido o número máximo de turnos conversacionais para a sessão. (modo não interativo apenas) |
Dicas de Depuração
-
Depuração via CLI:
- Use a flag
--verbose(se disponível) com comandos CLI para obter uma saída mais detalhada. - Verifique os logs da CLI, geralmente encontrados em um diretório de configuração ou cache específico do usuário.
- Use a flag
-
Depuração do núcleo:
- Verifique a saída do console do servidor por mensagens de erro ou rastreamentos de pilha.
- Aumente a verbosidade dos logs se configurável.
- Use ferramentas de depuração do Node.js (por exemplo,
node --inspect) se precisar percorrer o código do lado do servidor.
-
Problemas com ferramentas:
- Se uma ferramenta específica estiver falhando, tente isolar o problema executando a versão mais simples possível do comando ou operação que a ferramenta realiza.
- Para
run_shell_command, verifique primeiro se o comando funciona diretamente em seu shell. - Para ferramentas de sistema de arquivos, verifique se os caminhos estão corretos e confira as permissões.
-
Verificações prévias:
- Sempre execute
npm run preflightantes de fazer commit do código. Isso pode detectar muitos problemas comuns relacionados à formatação, lintagem e erros de tipo.
- Sempre execute
Problemas existentes no GitHub semelhantes aos seus ou criação de novos problemas
Se você encontrar um problema que não foi abordado aqui neste Guia de solução de problemas, considere pesquisar no rastreador de problemas do Qwen Code no GitHub . Se você não conseguir encontrar um problema semelhante ao seu, considere criar um novo problema no GitHub com uma descrição detalhada. Pull requests também são bem-vindos!