O vcpkg tem dois modos de operação: modo clássico e modo de manifesto. Para a maioria dos usuários, recomendamos o modo de manifesto.
O modo de manifesto usa arquivos JSON declarativos para descrever metadados sobre seu projeto ou pacote. Os arquivos de manifesto devem ter o vcpkg.json nome.
O modo de manifesto é ativado executando o vcpkg install comando enquanto há um arquivo de manifesto (vcpkg.json) no diretório de trabalho. Leia adiante para obter detalhes sobre como instalar pacotes no modo de manifesto.
O modo de manifesto também é necessário para usar recursos avançados, como controle de versão e registros personalizados.
Arquivos de manifesto em portas
Todas as portas vcpkg devem incluir um vcpkg.json arquivo que descreva metadados sobre o pacote que instalam.
O vcpkg usa os metadados no manifesto do pacote para vários fins, como calcular árvores de dependência, pesquisar pacotes por nome ou descrição, resolver recursos, etc.
Exemplo de manifesto do pacote
{
"name": "fmt",
"version": "10.1.1",
"description": "Formatting library for C++. It can be used as a safe alternative to printf or as a fast alternative to IOStreams.",
"homepage": "https://github.com/fmtlib/fmt",
"license": "MIT",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
}
Arquivos de manifesto em projetos
O principal objetivo de usar um arquivo de manifesto em seu projeto é declarar suas dependências. Ao usar um manifesto de projeto, você pode especificar restrições e substituições de versão para bloquear versões específicas de suas dependências. Esse recurso não está disponível no modo clássico.
Para instalar pacotes usando um arquivo de manifesto, use o vcpkg install comando sem nenhum argumento de pacote.
O comando deve ser executado a partir de um diretório que contém um arquivo de manifesto (vcpkg.json) ou o caminho para um arquivo de manifesto fornecido usando a --x-manifest-root=<path> opção.
Os pacotes instalados no modo de manifesto não serão instalados no diretório global installed como no modo clássico. Em vez disso, cada manifesto obtém seu próprio diretório de instalação chamado vcpkg_installed; o vcpkg_installed diretório é criado no mesmo diretório que contém o arquivo de manifesto.
Ter árvores de instalação independentes por manifesto permite a separação de dependências entre diferentes projetos. Isso contorna uma limitação crucial do modo clássico, que permite que apenas uma versão de cada porta seja instalada.
O modo de manifesto mantém as versões das portas separadas por projeto.
Usando recursos em manifestos de projeto
Os arquivos de manifesto podem definir conjuntos aditivos de funcionalidade, comportamento e dependências por meio do uso de "recursos".
Em seus projetos, você pode definir recursos para habilitar ou desabilitar dependências que se aplicam a partes do seu projeto. Por exemplo, se o seu projeto contiver vários componentes, talvez você queira manter as "dependencies" dependências comuns na lista, mas limitar algumas outras aos seus respectivos componentes.
Para habilitar os recursos do seu projeto, você pode usar um dos seguintes métodos:
Passe a --x-feature opção para o seu vpckg install comando.
A fonte deste conteúdo pode ser encontrada no GitHub, onde você também pode criar e revisar problemas e solicitações de pull. Para obter mais informações, confira o nosso guia para colaboradores.
Comentários do vcpkg
O vcpkg é um projeto código aberto. Selecione um link para fornecer comentários:
Crie um projeto do Node.js e aprenda a adicionar pacotes e a gerenciar dependências de pacote no projeto. Use a CLI do NPM e o registro para adicionar bibliotecas e ferramentas a seus projetos de desenvolvimento web JavaScript/TypeScript usando o Visual Studio Code.