トラブルシューティングガイド
このガイドでは、一般的な問題への対処方法とデバッグのヒントを提供します。以下のトピックを含みます:
- 認証またはログインエラー
- よくある質問(FAQ)
- デバッグのヒント
- あなたの問題に類似する既存の GitHub Issues、または新しい Issue の作成
認証またはログインエラー
- エラー:
UNABLE_TO_GET_ISSUER_CERT_LOCALLY
または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
- 例:
よくある質問 (FAQs)
-
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 Configuration を参照してください。
- ホームディレクトリ内:
-
-
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` (Address already in use) が発生する**
- **原因:** 別のプロセスが、MCP サーバーがバインドしようとしているポートをすでに使用しています。
- **解決方法:**
ポートを使用している他のプロセスを停止するか、MCP サーバーが別のポートを使用するように設定してください。
- **エラー: `qwen` コマンドで Qwen Code を実行しようとしたときに「Command not found」になる**
- **原因:** 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` コマンドで再ビルドしてください。
- **エラー: `MODULE_NOT_FOUND` や import エラー**
- **原因:** 依存関係が正しくインストールされていないか、プロジェクトがビルドされていません。
- **解決方法:**
1. `npm install` を実行して、すべての依存関係が揃っていることを確認してください。
2. `npm run build` を実行してプロジェクトをコンパイルしてください。
3. `npm run start` を使ってビルドが正常に完了したことを確認してください。
- **エラー: "Operation not permitted"、"Permission denied" などの類似エラー**
- **原因:** サンドボックスが有効な場合、Qwen Code がプロジェクトディレクトリやシステムの一時ディレクトリ以外への書き込みなど、サンドボックス設定によって制限された操作を試みることがあります。
- **解決方法:** サンドボックス設定のカスタマイズ方法など詳細については、[Configuration: Sandboxing](./cli/configuration.md#sandboxing) のドキュメントを参照してください。
- **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 のデバッグモードが有効になりません。
- **原因:** CLI の動作への干渉を防ぐため、`DEBUG` および `DEBUG_MODE` 変数はプロジェクトの `.env` ファイルから自動的に除外されます。
- **解決方法:** 代わりに `.qwen/.env` ファイルを使用するか、`settings.json` の `excludedProjectEnvVars` 設定で除外する変数を減らすように設定してください。
IDE Companion が接続されない
- VS Code で単一のワークスペースフォルダを開いていることを確認してください。
- 拡張機能をインストールした後、統合ターミナルを再起動して以下の環境変数が継承されるようにしてください:
QWEN_CODE_IDE_WORKSPACE_PATH
QWEN_CODE_IDE_SERVER_PORT
- コンテナ内で実行している場合は、
host.docker.internal
が正しく解決されることを確認してください。そうでない場合は、適切にホストをマッピングしてください。 /ide install
で Companion を再インストールし、Command Palette から「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 コマンドで詳細な出力を見るために、
-
Core デバッグ:
- サーバーのコンソール出力を確認して、エラーメッセージやスタックトレースがないかチェックしてください。
- 設定可能な場合は、ログの詳細レベルを上げてください。
- サーバーサイドのコードをステップ実行する必要がある場合は、Node.js のデバッグツール(例:
node --inspect
)を使用してください。
-
ツールの問題:
- 特定のツールが失敗する場合は、そのツールが実行するコマンドや操作を最もシンプルな形で実行して、問題を切り分けてみてください。
run_shell_command
の場合は、まず直接シェルでコマンドが動作するか確認してください。- ファイルシステム系のツール の場合は、パスが正しいこととパーミッションを確認してください。
-
Pre-flight チェック:
- コードをコミットする前には、必ず
npm run preflight
を実行してください。これにより、フォーマット、Lint、型エラーなど、多くの一般的な問題を事前に検出できます。
- コードをコミットする前には、必ず
既存の GitHub Issues または新しい Issues の作成
ここで取り上げられていない問題に遭遇した場合は、Qwen Code の GitHub の Issue トラッカー を検索してみてください。同様の問題が見つからない場合は、詳細な説明を添えて新しい GitHub Issue を作成することを検討してください。Pull Request も歓迎します!
Last updated on