Skip to main content

Установка пакета

Установите зависимости для этого пакета.

Кто может использовать эту функцию?

GitHub CodeQL лицензируется на основе каждого пользователя при установке. Вы можете использовать CodeQL только для определенных задач в соответствии с ограничениями лицензии. Дополнительные сведения см. в разделе Сведения о интерфейсе командной строки CodeQL.

Если у вас есть лицензия GitHub Advanced Security, можно использовать CodeQL для автоматического анализа, непрерывной интеграции и непрерывной доставки. Дополнительные сведения см. в разделе Сведения о GitHub Advanced Security.

Это содержимое описывает последний выпуск данных CodeQL CLI. Дополнительные сведения об этом выпуске см. в статье https://github.com/github/codeql-cli-binaries/releases.

Чтобы просмотреть сведения о параметрах, доступных для этой команды в предыдущем выпуске, выполните команду с --help параметром в терминале.

Краткие сведения

Shell
codeql pack install [--force] <options>... -- <dir>

Description

Установите зависимости для этого пакета.

Эта команда устанавливает зависимости пакета. Если существует codeql-pack.lock.yml, версии, указанные в этом файле блокировки, будут установлены, если они совместимы с ограничениями версии, указанными в файле qlpack.yml. Если какие-либо версии зависимостей, указанные в файле блокировки, несовместимы с ограничениями этого пакета, эта команда установит последнюю совместимую версию каждой из этих зависимостей, обновив файл блокировки с новыми выбранными версиями. Если файл блокировки отсутствует, эта команда устанавливает последнюю совместимую версию всех зависимостей, создав новый файл блокировки.

Доступно с момента v2.6.0.

Параметры

Основные параметры

<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

и другие локально разрешенные расположения. Пакеты, разрешенные локально, никогда не загружаются

и не будет добавлен в блокировку пакета.

--mode=<mode>

[Нерекомендуемый] Указывает, как разрешать зависимости:

minimal-update(по умолчанию): обновление или создание codeql-pack.lock.yml на основе существующего содержимого файла qlpack.yml. Если существующий codeql-pack.lock.yml не удовлетворяет текущим зависимостям в qlpack.yml, файл блокировки будет обновлен по мере необходимости.

upgrade: обновите или создайте codeql-pack.lock.yml для использования последних версий всех зависимостей, при условии ограничений в файле qlpack.yml. Этот режим заменен командой обновления пакета codeql.

verify: убедитесь, что существующий codeql-pack.lock.yml по-прежнему действителен в отношении зависимостей, указанных в файле qlpack.yml, или завершится ошибкой файла блокировки, если он не существует. Этот режим заменен командой codeql pack ci.

no-lock: игнорируйте существующие codeql-pack.lock.yml и выполняйте разрешение на основе qlpack.yml файла. Не создает или не обновляет файл блокировки.

use-lock: используйте существующий файл codeql-pack.lock.yml для разрешения зависимостей или создайте файл блокировки, если он не существует.

update: [устарело] Обновите или создайте codeql-pack.lock.yml для использования последних версий всех зависимостей, при условии ограничений в файле qlpack.yml. Этот режим заменен командой обновления пакета codeql.

Параметры разрешения пакетов QL за пределами реестра пакетов

--search-path=<dir>[:<dir>...]

Список каталогов, в которых можно найти пакеты QL. Каждый каталог может быть пакетом QL (или пакетом пакетов, содержащих .codeqlmanifest.json файл в корневом каталоге) или непосредственным родительским элементом одного или нескольких таких каталогов.

Если путь содержит несколько каталогов, их порядок определяет приоритет между ними: когда имя пакета, которое должно быть разрешено, совпадает с несколькими деревьями каталогов, то один из первых побед.

Указывая это на проверка из репозитория CodeQL с открытым исходным кодом, должен работать при запросе одного из языков, активных там.

Если вы проверка из репозитория CodeQL в качестве брата непакованной цепочки инструментов CodeQL, вам не нужно предоставить этот параметр. Такие каталоги с братом всегда будут искать пакеты QL, которые не удается найти в противном случае. (Если это значение по умолчанию не работает, настоятельно рекомендуется настроить --search-path один раз и для всех в файле конфигурации для каждого пользователя).

(Примечание. В Windows разделитель путей имеет значение ;).

--additional-packs=<dir>[:<dir>...]

Если указан этот список каталогов, они будут искать пакеты до тех, в которых они есть --search-path. Порядок между ними не имеет значения; Это ошибка, если имя пакета найдено в двух разных местах в этом списке.

Это полезно, если вы временно разрабатываете новую версию пакета, который также отображается в пути по умолчанию. С другой стороны, не рекомендуется переопределить этот параметр в файле конфигурации. Некоторые внутренние действия будут добавлять этот параметр на лету, переопределяя любое настроенное значение.

(Примечание. В Windows разделитель путей имеет значение ;).

Параметры настройки диспетчера пакетов CodeQL

--registries-auth-stdin

Проверка подлинности в реестрах контейнеров GitHub Enterprise Server путем передачи <registry_url>=<token> разделенного запятыми списка пар.

Например, можно передать https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2 для проверки подлинности на двух экземплярах GitHub Enterprise Server.

При этом переопределяются переменные среды маркера токена CODEQL_И_AUTH и GITHUB_. Если вам нужно выполнить проверку подлинности только в реестре контейнеров github.com, можно вместо этого выполнить проверку подлинности с помощью более --github-auth-stdin простого параметра.

--github-auth-stdin

Проверка подлинности в реестре контейнеров github.com путем передачи маркера github.com GitHub Apps или личного маркера доступа через стандартные входные данные.

Чтобы пройти проверку подлинности в реестрах контейнеров GitHub Enterprise Server, передайте --registries-auth-stdin или используйте переменную среды AUTH CODEQL_REGISTRIES_.

Это переопределяет переменную среды токена GITHUB_.

Распространенные параметры

-h, --help

Отображение этого текста справки.

-J=<opt>

[Дополнительно] Укажите параметр JVM, выполняя команду.

(Убедитесь, что параметры, содержащие пробелы, не будут обрабатываться правильно.)

-v, --verbose

Постепенно увеличьте число отображаемых сообщений о ходе выполнения.

-q, --quiet

Постепенно уменьшайте количество отображаемых сообщений о ходе выполнения.

--verbosity=<level>

[Дополнительно] Явным образом задайте уровень детализации на одну из ошибок, предупреждений, хода выполнения, хода выполнения+, хода выполнения++, хода выполнения+++. Переопределяет -v и -q.

--logdir=<dir>

[Дополнительно] Запись подробных журналов в один или несколько файлов в указанном каталоге с созданными именами, включающими метки времени и имя выполняющегося подкоманда.

(Чтобы записать файл журнала с именем, над которым у вас есть полный контроль, вместо этого предоставьте --log-to-stderr и перенаправите stderr по мере необходимости.)

--common-caches=<dir>

[Дополнительно] Управляет расположением кэшированных данных на диске, которые будут сохраняться между несколькими запусками интерфейса командной строки, такими как скачанные пакеты QL и скомпилированные планы запросов. Если этот параметр не задан явным образом, по умолчанию используется каталог с именем .codeql в домашнем каталоге пользователя; он будет создан, если он еще не существует.

Доступно с момента v2.15.2.