Skip to main content

pack install

[Expérimental] Installe les dépendances pour ce pack.

GitHub CodeQL est concédé sous licence par utilisateur lors de l’installation. Vous pouvez utiliser CodeQL uniquement pour certaines tâches soumises aux restrictions de licence. Pour plus d’informations, consultez « À propos de CodeQL CLI ».

Si vous disposez d’une licence GitHub Advanced Security, vous pouvez utiliser CodeQL pour l’analyse automatisée, l’intégration continue et la livraison continue. Pour plus d’informations, consultez « À propos de GitHub Advanced Security ».

Ce contenu décrit la version la plus récente de CodeQL CLI. Pour plus d’informations sur cette version, consultez https://github.com/github/codeql-cli-binaries/releases.

Pour voir les détails des options disponibles pour cette commande dans une version antérieure, exécutez la commande avec l’option --help dans votre terminal.

Synopsis

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

Description

[Expérimental] Installe les dépendances pour ce pack.

Cette commande installe les dépendances du pack. Si un fichier codeql-pack.lock.yml existe, les versions spécifiées dans ce fichier lock sont installées si elles sont compatibles avec les contraintes de version spécifiées dans le fichier qlpack.yml. Si les versions de dépendances spécifiées dans le fichier lock sont incompatibles avec les contraintes de ce pack, cette commande installe la dernière version compatible de chacune de ces dépendances en mettant à jour le fichier lock avec les versions nouvellement choisies. Si aucun fichier lock n’est présent, cette commande installe la dernière version compatible de toutes les dépendances en créant un nouveau fichier lock.

Disponible depuis v2.6.0.

Options

Options principales

<dir>

Répertoire racine du package.

--format=<fmt>

Sélectionne le format de sortie text (par défaut) ou json.

-f, --[no-]force

Autorise le remplacement des packs déjà existants.

--[no-]allow-prerelease

Autorise l’utilisation des packs avec des qualificateurs de préversion (par exemple, X.Y.Z-qualifier) à utiliser. Sans cet indicateur, les packs de préversion sont ignorés.

Disponible depuis v2.11.3.

--lock-override=<file>

[Avancé] Spécifie un autre fichier de verrouillage à utiliser comme entrée pour la résolution des dépendances.

--lock-output=<file>

[Avancé] Spécifie un autre emplacement pour enregistrer le fichier verrouillé généré par la résolution des dépendances.

Disponible depuis v2.14.1.

--no-strict-mode

[Avancé] Désactive le mode strict pour éviter un avertissement lors de la résolution des packages de --additional-packs

et d’autres emplacements résolus localement. Les packages résolus localement ne sont jamais téléchargés

et ne sont pas ajoutés au fichier lock du package.

--mode=<mode>

[Déprécié]Spécifie comment résoudre les dépendances :

minimal-update (par défaut)  : Met à jour ou crée le fichier codeql-pack.lock.yml en se basant sur le contenu existant du fichier qlpack.yml. Si aucun fichier codeql-pack.lock.yml existant ne satisfait les dépendances actuelles dans le fichier qlpack.yml, le fichier lock est mis à jour comme il se doit.

upgrade : Met à jour ou crée le fichier codeql-pack.lock.yml pour utiliser les dernières versions de toutes les dépendances, sujettes aux contraintes du fichier qlpack.yml. Ce mode a été remplacé par la commande « codeql pack upgrade ».

verify : Vérifie que le fichier codeql-pack.lock.yml existant est toujours valide en ce qui concerne les dépendances spécifiées dans le fichier qlpack.yml, ou fait échouer le fichier lock s’il n’existe pas. Ce mode a été remplacé par la commande « codeql pack ci ».

no-lock : Ignore le fichier codeql-pack.lock.yml existant et effectue une résolution basée sur le fichier qlpack.yml. Ne crée ni ne met à jour le fichier lock.

use-lock : Utilise le fichier codeql-pack.lock.yml existant pour résoudre les dépendances, ou crée le fichier lock s’il n’existe pas.

update : [Déprécié] Met à jour ou crée le fichier codeql-pack.lock.yml pour utiliser les dernières versions de toutes les dépendances, sujettes aux contraintes du fichier qlpack.yml. Ce mode a été remplacé par la commande « codeql pack upgrade ».

Options pour résoudre des packs QL en dehors du registre de packages

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

Liste des répertoires sous lesquels les packs QL peuvent être trouvés. Chaque répertoire peut être un pack QL (ou un bundle de packs contenant un fichier .codeqlmanifest.json à la racine) ou le parent immédiat d’un ou plusieurs de ces répertoires.

Si le chemin contient plusieurs répertoires, leur ordre définit la priorité entre eux : quand un nom de pack qui doit être résolu est mis en correspondance dans plusieurs arborescences de répertoires, celle donnée en premier gagne.

Le pointage de ce chemin vers une extraction du dépôt CodeQL open source devrait fonctionner lors de l’interrogation d’un des langages qui y résident.

Si vous avez extrait le dépôt CodeQL en tant que frère de la chaîne d’outils CodeQL décompressée, vous n’avez pas besoin de donner cette option ; ces répertoires frères sont toujours recherchés pour les packs QL qui ne peuvent pas être trouvés autrement. (Si cette valeur par défaut ne fonctionne pas, il est fortement recommandé de configurer --search-path une fois pour toutes dans un fichier de configuration par utilisateur).

(Remarque : Sur Windows, le séparateur de chemin est ;.)

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

Si cette liste de répertoires est donnée, des packs y sont recherchés avant ceux indiqués dans --search-path. L’ordre entre eux n’a pas d’importance ; il s’agit d’une erreur si un nom de pack est trouvé dans deux répertoires différents de cette liste.

Cette option est utile si vous développez temporairement une nouvelle version d’un pack qui apparaît aussi dans le chemin par défaut. En revanche, il n’est pas recommandé de remplacer cette option dans un fichier de configuration ; certaines actions internes ajoutent cette option à la volée, remplaçant toute valeur configurée.

(Remarque : Sur Windows, le séparateur de chemin est ;.)

Options pour configurer le gestionnaire de package CodeQL

--registries-auth-stdin

Permet de vous authentifier auprès des registres de conteneurs GitHub Enterprise Server en passant une liste de paires <registry_url>=<token> séparées par des virgules.

Par exemple, vous pouvez passer https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2 pour vous authentifier auprès de deux instances GitHub Enterprise Server.

Cela remplace les variables d’environnement CODEQL_REGISTRIES_AUTH et GITHUB_TOKEN. Si vous avez seulement besoin de vous authentifier auprès du registre de conteneurs github.com, vous pouvez vous authentifier en utilisant l’option plus simple --github-auth-stdin.

--github-auth-stdin

Permet de vous authentifier auprès du registre de conteneurs github.com en passant un jeton github.com GitHub Apps ou un jeton d’accès personnel via une entrée standard.

Pour vous authentifier auprès des registres de conteneurs GitHub Enterprise Server, passez --registries-auth-stdin ou utilisez la variable d’environnement CODEQL_REGISTRIES_AUTH.

Cela remplace la variable d’environnement GITHUB_TOKEN.

Options courantes

-h, --help

Affiche ce texte d’aide.

-J=<opt>

[Avancé] Donne une option à l’environnement JVM exécutant la commande.

(Attention, les options contenant des espaces ne sont pas gérées correctement.)

-v, --verbose

Augmente de façon incrémentielle le nombre de messages de progression affichés.

-q, --quiet

Diminue de façon incrémentielle le nombre de messages de progression affichés.

--verbosity=<level>

[Avancé] Définit explicitement le niveau de détail sur errors, warnings, progress, progress+, progress++ ou progress+++. Remplace -v et -q.

--logdir=<dir>

[Avancé] Écrit des journaux détaillés dans un ou plusieurs fichiers du répertoire donné, avec des noms générés qui incluent des horodatages et le nom de la sous-commande en cours d’exécution.

(Pour écrire un fichier journal avec un nom sur lequel vous avez un contrôle total, donnez plutôt --log-to-stderr et redirigez stderr comme vous le souhaitez.)

--common-caches=<dir>

[Avancé] Contrôle l’emplacement des données en cache sur le disque qui persisteront entre plusieurs exécutions de l’interface CLI, telles que les packs QL téléchargés et les plans de requête compilés. S’il n’est pas défini explicitement, il s’agit par défaut d’un répertoire nommé .codeql dans le répertoire de base de l’utilisateur. S’il n’existe pas déjà, il est créé.

Disponible depuis v2.15.2.