トラブルシューティング
このガイドでは、以下のトピックを含む一般的な問題の解決方法とデバッグのヒントを提供します。
- 認証またはログインエラー
- よくある質問(FAQ)
- デバッグのヒント
- 類似の既存 GitHub Issue の確認、または新しい Issue の作成
認証またはログインエラー
-
エラー:
UNABLE_TO_GET_ISSUER_CERT_LOCALLY、UNABLE_TO_VERIFY_LEAF_SIGNATURE、またはunable to get local issuer certificate- 原因: SSL/TLS トラフィックを傍受・検査するファイアウォールを備えた企業ネットワーク上にいる可能性があります。このような環境では、Node.js が信頼するカスタムルート CA 証明書が必要になることがよくあります。
- 解決策:
NODE_EXTRA_CA_CERTS環境変数を、企業のルート CA 証明書ファイルの絶対パスに設定します。- 例:
export NODE_EXTRA_CA_CERTS=/path/to/your/corporate-ca.crt
- 例:
-
エラー:
Device authorization flow failed: fetch failed- 原因: Node.js が Qwen の OAuth エンドポイントに到達できませんでした(プロキシや SSL/TLS の信頼関係の問題であることが多いです)。利用可能な場合、Qwen Code は根本的なエラー原因(例:
UNABLE_TO_VERIFY_LEAF_SIGNATURE)も併せて出力します。 - 解決策:
- 同じマシン/ネットワークから
https://chat.qwen.aiにアクセスできることを確認してください。 - プロキシの背後にある場合は、
qwen --proxy <url>(またはsettings.json内のproxy設定)でプロキシを指定してください。 - ネットワークで企業向け TLS 検査用 CA を使用している場合は、上記のように
NODE_EXTRA_CA_CERTSを設定してください。
- 同じマシン/ネットワークから
- 原因: Node.js が Qwen の OAuth エンドポイントに到達できませんでした(プロキシや SSL/TLS の信頼関係の問題であることが多いです)。利用可能な場合、Qwen Code は根本的なエラー原因(例:
-
問題: 認証失敗後に UI が表示されない
- 原因: 認証方式を選択した後に認証が失敗すると、
security.auth.selectedType設定がsettings.jsonに保存されることがあります。再起動時に CLI が失敗した認証方式で再び認証を試みようとして固まり、UI の表示に失敗することがあります。 - 解決策:
settings.jsonファイル内のsecurity.auth.selectedType設定項目をクリアしてください:~/.qwen/settings.json(プロジェクト固有の設定の場合は./.qwen/settings.json)を開きますsecurity.auth.selectedTypeフィールドを削除します- CLI を再起動して、再度認証を要求できるようにします
- 原因: 認証方式を選択した後に認証が失敗すると、
よくある質問(FAQ)
-
Q: Qwen Code を最新バージョンに更新するにはどうすればよいですか?
- A:
npmを使用してグローバルにインストールした場合は、コマンドnpm install -g @qwen-code/qwen-code@latestを実行して更新してください。ソースコードからビルドした場合は、リポジトリから最新の変更をプルし、コマンドnpm run buildを実行して再ビルドしてください。
- A:
-
Q: Qwen Code の設定ファイルや構成ファイルはどこに保存されていますか?
-
A: Qwen Code の設定は、2つの
settings.jsonファイルに保存されます:- ホームディレクトリ内:
~/.qwen/settings.json - プロジェクトのルートディレクトリ内:
./.qwen/settings.json
詳細については、「Qwen Code の設定」を参照してください。
- ホームディレクトリ内:
-
-
Q: 統計情報の出力にキャッシュされたトークン数が表示されませんが、なぜですか?
- A: キャッシュされたトークン情報は、実際にキャッシュされたトークンが使用されている場合にのみ表示されます。この機能は API キーを使用するユーザー(Qwen API キーや Google Cloud Vertex AI)に対してのみ利用可能ですが、OAuth ユーザー(Google Gmail や Google Workspace などの Google 個人/エンタープライズ アカウント)には利用できません。これは、Qwen Code Assist API がキャッシュされたコンテンツの作成をサポートしていないためです。ただし、
/statsコマンドを使用すれば、合計トークン使用量は引き続き確認できます。
- A: キャッシュされたトークン情報は、実際にキャッシュされたトークンが使用されている場合にのみ表示されます。この機能は API キーを使用するユーザー(Qwen API キーや Google Cloud Vertex AI)に対してのみ利用可能ですが、OAuth ユーザー(Google Gmail や Google Workspace などの Google 個人/エンタープライズ アカウント)には利用できません。これは、Qwen Code Assist API がキャッシュされたコンテンツの作成をサポートしていないためです。ただし、
よくあるエラーメッセージと解決方法
-
エラー: MCP サーバー起動時に
EADDRINUSE(アドレスが既に使用中)- 原因: MCP サーバーがバインドしようとしているポートを、他のプロセスがすでに使用しています。
- 解決方法: ポートを使用している他のプロセスを停止するか、MCP サーバーが別のポートを使用するように設定してください。
-
エラー:
qwenコマンドで Qwen Code を実行しようとすると「コマンドが見つかりません」- 原因: 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または import エラー- 原因: 依存関係が正しくインストールされていないか、プロジェクトがビルドされていません。
- 解決方法:
- すべての依存関係が存在することを確認するために
npm installを実行します。 - プロジェクトをコンパイルするために
npm run buildを実行します。 npm run startを実行して、ビルドが正常に完了したことを確認します。
- すべての依存関係が存在することを確認するために
-
エラー: 「操作が許可されていません」、「アクセスが拒否されました」など
- 原因: サンドボックス機能が有効な場合、Qwen Code がサンドボックス設定で制限された操作(たとえば、プロジェクトディレクトリやシステムの一時ディレクトリ外への書き込み)を試行することがあります。
- 解決方法: 詳細およびサンドボックス設定のカスタマイズ方法については、設定: サンドボックス のドキュメントを参照してください。
-
CI 環境で Qwen Code がインタラクティブモードで実行されない
- 問題:
CI_で始まる環境変数(例:CI_TOKEN)が設定されていると、Qwen Code はインタラクティブモードに入らず(プロンプトが表示されません)。これは、基盤となる UI フレームワークが使用するis-in-ciパッケージがこのような環境変数を検出し、非インタラクティブな CI 環境であると判断するためです。 - 原因:
is-in-ciパッケージは、CI、CONTINUOUS_INTEGRATION、またはCI_で始まる任意の環境変数の存在をチェックします。これらのいずれかが検出されると、その環境が非インタラクティブであると判断され、CLI がインタラクティブモードで起動しなくなります。 - 解決方法:
CI_で始まる環境変数が CLI の動作に不要な場合、コマンド実行時に一時的に無効化できます。例:env -u CI_TOKEN qwen
- 問題:
-
プロジェクトの
.envファイルから DEBUG モードが有効にならない- 問題: プロジェクトの
.envファイルでDEBUG=trueを設定しても、CLI のデバッグモードは有効になりません。 - 原因:
DEBUGおよびDEBUG_MODE変数は、CLI の動作への干渉を防ぐため、プロジェクトの.envファイルから自動的に除外されます。 - 解決方法: 代わりに
.qwen/.envファイルを使用するか、settings.jsonのadvanced.excludedEnvVars設定を変更して除外される変数を減らしてください。
- 問題: プロジェクトの
IDE コンパニオンが接続できない
- VS Code で単一のワークスペースフォルダーが開かれていることを確認してください。
- 拡張機能をインストールした後、統合ターミナルを再起動して、以下の環境変数を継承させます:
QWEN_CODE_IDE_WORKSPACE_PATHQWEN_CODE_IDE_SERVER_PORT
- コンテナー内で実行している場合は、
host.docker.internalが解決できることを確認してください。解決できない場合は、ホストを適切にマップしてください。 /ide installコマンドでコンパニオンを再インストールし、「Qwen Code: Run」コマンドをコマンドパレットから実行して、正しく起動することを確認してください。
終了コード
Qwen Code では、終了の理由を示すために特定の終了コードが使用されます。これは、スクリプト実行や自動化において特に有用です。
| 終了コード | エラーの種類 | 説明 |
|---|---|---|
| 41 | FatalAuthenticationError | 認証プロセス中にエラーが発生しました。 |
| 42 | FatalInputError | CLI に無効または不足した入力が提供されました。(非対話モードのみ) |
| 44 | FatalSandboxError | サンドボックス環境(例:Docker、Podman、Seatbelt)でエラーが発生しました。 |
| 52 | FatalConfigError | 設定ファイル (settings.json) が無効であるか、エラーを含んでいます。 |
| 53 | FatalTurnLimitedError | セッションにおける会話ターンの最大数に達しました。(非対話モードのみ) |
デバッグのヒント
-
CLI のデバッグ:
- 詳細な出力を得るために、CLI コマンドで
--verboseフラグ(利用可能な場合)を使用します。 - CLI のログを確認します。ログは通常、ユーザー固有の設定ディレクトリまたはキャッシュディレクトリ内にあります。
- 詳細な出力を得るために、CLI コマンドで
-
コア部分のデバッグ:
- サーバーのコンソール出力にエラーメッセージやスタックトレースがないか確認します。
- 設定可能であれば、ログの詳細レベル(verbosity)を上げます。
- サーバー側のコードをステップ実行する必要がある場合は、Node.js のデバッグツール(例:
node --inspect)を使用します。
-
ツール関連の問題:
- 特定のツールが失敗する場合、そのツールが実行するコマンドまたは操作の最も単純なバージョンを実行して、問題を切り分けます。
run_shell_commandの場合は、まず対象のコマンドがシェル上で直接正しく動作することを確認します。- ファイルシステムツール の場合は、パスが正しいことを確認し、アクセス権限も確認します。
-
事前チェック(プリフライトチェック):
- コードをコミットする前に必ず
npm run preflightを実行してください。このコマンドにより、フォーマット、リンティング、型エラーなど、多くの一般的な問題を検出できます。
- コードをコミットする前に必ず
類似の既存 GitHub Issue の確認または新規 Issue の作成
この トラブルシューティング ガイド で取り扱っていない問題に遭遇した場合は、Qwen Code の GitHub Issue トラッカー を検索してみてください。類似の Issue が見つからない場合は、詳細な説明を含めて新しい GitHub Issue を作成することをご検討ください。プルリクエストも歓迎します!