Este conteúdo descreve a versão mais recente do CodeQL CLI. Para obter mais informações sobre essa versão, confira https://github.com/github/codeql-cli-binaries/releases.
Para ver os detalhes das opções disponíveis para esse comando em uma versão anterior, execute o comando com a opção --help
no terminal.
Sinopse
codeql pack install [--force] <options>... -- <dir>
codeql pack install [--force] <options>... -- <dir>
Descrição
Instale as dependências para este pacote.
Esse comando instala as dependências do pacote. Se houver um codeql-pack.lock.yml, as versões especificadas nesse arquivo de bloqueio serão instaladas se forem compatíveis com as restrições de versão especificadas no arquivo qlpack.yml. Se as versões de dependência especificadas no arquivo de bloqueio forem incompatíveis com as restrições desse pacote, esse comando instalará a versão compatível mais recente de cada uma dessas dependências, atualizando o arquivo de bloqueio com as versões recém-escolhidas. Se nenhum arquivo de bloqueio estiver presente, esse comando instalará a versão compatível mais recente de todas as dependências, criando um arquivo de bloqueio.
Disponível desde v2.6.0
.
Opções
Opções principais
<dir>
O diretório raiz do pacote.
--format=<fmt>
Selecione o formato de saída: text
(padrão) ou json
.
-f, --[no-]force
Permita a substituição dos pacotes já existentes.
--[no-]allow-prerelease
Permita o uso de pacotes com qualificadores de versão de pré-lançamento (por exemplo, X.Y.Z-qualifier
). Sem esse sinalizador, os pacotes de pré-lançamento serão ignorados.
Disponível desde v2.11.3
.
--lock-override=<file>
[Avançado] Especifica um arquivo de bloqueio alternativo para usar como entrada para resolução de dependência.
--lock-output=<file>
[Avançado] Especifica um local alternativo para salvar o arquivo de bloqueio gerado pela resolução da dependência.
Disponível desde v2.14.1
.
--no-strict-mode
[Avançado] Desative o modo estrito para evitar o recebimento de um aviso ao resolver pacotes de --additional-packs
e outros locais resolvidos localmente. Os pacotes resolvidos localmente nunca são baixados
e não serão adicionados ao bloqueio do pacote.
--mode=<mode>
[Preterido] Especifica como resolver as dependências:
minimal-update
(padrão) : atualize ou crie o codeql-pack.lock.yml com base no conteúdo existente do arquivo qlpack.yml. Se algum codeql-pack.lock.yml existente não atender às dependências atuais no qlpack.yml, o arquivo de bloqueio será atualizado conforme necessário.
upgrade
: atualize ou crie o codeql-pack.lock.yml para usar as últimas versões de todas as dependências, sujeitas às restrições do arquivo qlpack.yml. Esse modo foi substituído pelo comando 'codeql pack upgrade'.
verify
: verifique se o codeql-pack.lock.yml existente ainda é válido em relação às dependências especificadas no arquivo qlpack.yml ou se o arquivo de bloqueio não existe. Esse modo foi substituído pelo comando 'codeql pack ci'.
no-lock
: ignore o codeql-pack.lock.yml existente e execute a resolução com base no arquivo qlpack.yml. Não crie nem atualize o arquivo de bloqueio.
use-lock
: use o arquivo codeql-pack.lock.yml existente para resolver dependências ou crie o arquivo de bloqueio se ele não existir.
update
: [Preterido] Atualize ou crie o codeql-pack.lock.yml para usar as últimas versões de todas as dependências, sujeitas às restrições do arquivo qlpack.yml. Esse modo foi substituído pelo comando 'codeql pack upgrade'.
Opções para resolver pacotes QL fora do registro de pacote
--search-path=<dir>[:<dir>...]
Uma lista de diretórios nos quais os pacotes QL podem ser encontrados. Cada diretório pode ser um pacote QL (ou um conjunto de pacotes que contém um arquivo .codeqlmanifest.json
na raiz) ou o pai imediato de um ou mais desses diretórios.
Se o caminho contiver mais de um diretório, a ordem deles definirá a precedência entre eles: quando for encontrada uma correspondência do nome de um pacote que precisa ser resolvido em mais de uma das árvores do diretório, a primeira fornecida vencerá.
Se você apontar isso para um check-out do repositório do CodeQL de código aberto, isso deverá funcionar durante a consulta de uma das linguagens que se encontram nele.
Se você tiver feito check-out do repositório do CodeQL como um irmão da cadeia de ferramentas CodeQL descompactada, não precisará fornecer essa opção. Nesses diretórios irmãos, sempre será feita a pesquisa por pacotes QL que não podem ser encontrados de outra forma. (Caso esse padrão não funcione, recomendamos fortemente configurar --search-path
de uma vez por todas em um arquivo de configuração por usuário).
(Observação: no Windows, o separador de caminho é ;
).
--additional-packs=<dir>[:<dir>...]
Se essa lista de diretórios for fornecida, nesses diretórios, será feita a pesquisa de pacotes antes daqueles contidos em --search-path
. A ordem entre eles não importa: será indicado um erro se o nome de um pacote for encontrado em dois locais diferentes nessa lista.
Isso será útil se você estiver desenvolvendo temporariamente uma nova versão de um pacote que também aparece no caminho padrão. Por outro lado, não recomendamos substituir essa opção em um arquivo de configuração. Algumas ações internas adicionarão essa opção em tempo real, substituindo qualquer valor configurado.
(Observação: no Windows, o separador de caminho é ;
).
Opções para configurar o gerenciador de pacotes CodeQL
--registries-auth-stdin
Autentique-se nos registros de contêiner do GitHub Enterprise Server transmitindo uma lista separada por vírgula de pares <registry_url>=<token>.
Por exemplo, você pode transmitir https://containers.GHEHOSTNAME1/v2/=TOKEN1,https://containers.GHEHOSTNAME2/v2/=TOKEN2
para se autenticar em duas instâncias do GitHub Enterprise Server.
Isso substitui as variáveis de ambiente CODEQL_REGISTRIES_AUTH e GITHUB_TOKEN. Se você só precisar se autenticar no registro de contêiner do github.com, poderá se autenticar usando a opção --github-auth-stdin
mais simples.
--github-auth-stdin
Autentique-se no registro de contêiner do github.com transmitindo um token do GitHub Apps do github.com ou um token de acesso pessoal por meio da entrada padrão.
Para se autenticar nos registros de contêiner do GitHub Enterprise Server, transmita --registries-auth-stdin
ou use a variável de ambiente CODEQL_REGISTRIES_AUTH.
Isso substitui a variável de ambiente GITHUB_TOKEN.
Opções comuns
-h, --help
Mostre este texto de ajuda.
-J=<opt>
[Avançado] Forneça a opção para a JVM que executa o comando.
(Use-a com cautela, pois as opções que contêm espaços não serão tratadas corretamente.)
-v, --verbose
Aumente incrementalmente o número de mensagens de progresso impressas.
-q, --quiet
Diminua incrementalmente o número de mensagens de progresso impressas.
--verbosity=<level>
[Avançado] Defina explicitamente o nível de detalhamento como erros, avisos, progresso, progresso+, progresso++ ou progresso+++. Substitui -v
e -q
.
--logdir=<dir>
[Avançado] Escreva logs detalhados em um ou mais arquivos no diretório fornecido, com nomes gerados que incluem carimbos de data/hora e o nome do subcomando em execução.
(Para gravar um arquivo de log com um nome sobre o qual você tem controle completo, forneça --log-to-stderr
e redirecione stderr conforme desejado.)
--common-caches=<dir>
[Avançado] Controle a localização dos dados armazenados em cache no disco que persistirão entre várias execuções da CLI, como pacotes QL baixados e planos de consulta compilada. Se não for definido explicitamente, o padrão corresponde a um diretório intitulado .codeql
no diretório inicial do usuário; que será criado se ainda não existir.
Disponível desde v2.15.2
.