このコンテンツでは、CodeQL CLI の最新リリースについて説明します。 このリリースについて詳しくは、 https://github.com/github/codeql-cli-binaries/releases をご覧ください。
以前のリリースの、このコマンドで使えるオプションを詳しく確認するには、ターミナルで --help
オプションを指定してコマンドを実行してください。
構文
codeql pack upgrade [--force] <options>... -- <dir>
codeql pack upgrade [--force] <options>... -- <dir>
説明
このパックの依存関係を、利用可能な最新バージョンに更新します。
このコマンドは、パックの各依存関係の互換性のある最新バージョンをインストールし、新しく取得したバージョンでロック ファイルを更新します。 既存のロック ファイルはすべて無視されます。
v2.6.3
以降で使用できます。
[オプション]
主なオプション
<dir>
パッケージのルート ディレクトリ。
--format=<fmt>
出力形式 (text
(既定値) または json
) を選択します。__
-f, --[no-]force
既存のパックの上書きを許可します。
--[no-]allow-prerelease
プレリリース バージョン修飾子 (例: X.Y.Z-qualifier
) を含むパックの使用を許可します。 このフラグがないと、プレリリース パックは無視されます。
v2.11.3
以降で使用できます。
--lock-override=<file>
[詳細設定] 依存関係解決への入力として使う代替のロック ファイルを指定します。
--lock-output=<file>
[詳細設定] 依存関係の解決によって生成されたロックファイルを保存する代替場所を指定します。
v2.14.1
以降で使用できます。
--no-strict-mode
[詳細設定] 厳密モードをオフにして、--additional-packs
および他のローカルで解決された場所からパッケージを解決するときに
警告が表示されないようにします。 ローカルで解決されたパッケージがダウンロードされることはなく、
パッケージ ロックにも追加されません。
パッケージ レジストリの外部で QL パックを解決するためのオプション
--search-path=<dir>[:<dir>...]
QL パックが見つかる可能性があるディレクトリの一覧。 各ディレクトリは、QL パック (またはルートに .codeqlmanifest.json
ファイルを含むパックのバンドル)、または 1 つ以上のこのようなディレクトリの直接の親ディレクトリのいずれかです。
パスに複数のディレクトリを含める場合は、それらの順序で、それらの間の優先順位を定義します。解決する必要があるパック名が複数のディレクトリ ツリーで一致する場合は、最初に指定したものが優先されます。
オープンソースの CodeQL リポジトリのチェックアウトでこれを指定すると、そこにある言語の 1 つを照会するときに機能するはずです。
CodeQL リポジトリを、アンパックされた CodeQL ツールチェーンの兄弟としてチェックアウトしている場合、このオプションを指定する必要はありません。このような兄弟ディレクトリは、他の方法では見つからない QL パックについて常に検索されます (このデフォルトが機能しない場合は、ユーザーごとの構成ファイルで --search-path
を一度だけ設定することを強くお勧めします)。
(注: Windows では、パスの区切り記号は ;
です)。
--additional-packs=<dir>[:<dir>...]
このディレクトリ リストを指定した場合、ディレクトリは、--search-path
で指定したものより前に、パックについて検索されます。 これらの間の順序は重要ではありません。このリストの 2 か所でパック名が見つかった場合は、エラーです。
これは、デフォルトのパスにも表示される新しいバージョンのパックを一時的に開発している場合に役立ちます。 一方、構成ファイルでこのオプションをオーバーライドすることは "お勧めしません"。内部アクションによっては、このオプションがオンザフライで追加され、構成済みの値がオーバーライドされます。__
(注: Windows では、パスの区切り記号は ;
です)。
CodeQL パッケージ マネージャーを構成するためのオプション
--registries-auth-stdin
<registry_url>=<token> ペアのコンマ区切りのリストを渡して、GitHub Enterprise Server コンテナー レジストリに対して認証を行います。
たとえば、https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2
を渡して、
2 つの GitHub Enterprise Server インスタンスに対して認証を行うことができます。
これを使って、CODEQL_REGISTRIES_AUTH および GITHUB_TOKEN 環境変数をオーバーライドします。 github.com コンテナー レジストリに対する認証のみが必要な場合は、代わりに、より単純な --github-auth-stdin
オプションを使って認証できます。
--github-auth-stdin
標準入力を介して github.com GitHub Apps トークンまたは個人用アクセス トークンを渡して、github.com コンテナー レジストリに対して認証を行います。
GitHub Enterprise Server コンテナー レジストリに対して認証を行うには、--registries-auth-stdin
を渡すか、CODEQL_REGISTRIES_AUTH 環境変数を使います。
これを使って、GITHUB_TOKEN 環境変数をオーバーライドします。
共通オプション
-h, --help
このヘルプ テキストを表示します。
-J=<opt>
[詳細設定] コマンドを実行している JVM にオプションを指定します
(スペースを含むオプションは正しく処理されないことに注意してください)。
-v, --verbose
出力される進行状況メッセージの数を段階的に増やします。
-q, --quiet
出力される進行状況メッセージの数を段階的に減らします。
--verbosity=<level>
[詳細設定] 詳細レベルを、errors、warnings、progress、progress+、progress++、progress+++ のいずれかに明示的に設定します。 -v
と -q
がオーバーライドされます。
--logdir=<dir>
[詳細設定] タイムスタンプと実行中のサブコマンドの名前を含む生成された名前を使用して、指定されたディレクトリ内の 1 つまたは複数のファイルに詳細なログを書き込みます
(完全に制御できる名前でログ ファイルを書き込むには、代わりに --log-to-stderr
を指定し、必要に応じて stderr をリダイレクトします)。
--common-caches=<dir>
[[詳細設定] ダウンロードした QL パックやコンパイル済みクエリ プランなど、CLI の複数の実行間に保持される、ディスク上でキャッシュされたデータの場所を制御します。 明示的に設定されない場合、デフォルトではユーザーのホーム ディレクトリに名前が付けられた .codeql
ディレクトリになります。まだ存在しない場合は作成されます。
v2.15.2
以降で使用できます。