克隆使用 vcpkg 的项目时如何安装包

How to install packages when cloning project that uses vcpkg

我正在试用 vcpkg 包管理器,但我 运行 遇到了一些问题。 我有一个使用 cmake 和 vcpkg 的 C++ 项目,并使用 vcpkg 安装 cache2 包。 现在一切正常,但是一旦我推送项目并克隆它,我就找不到如何恢复已安装的包。

我做的是这样的:

直到现在一切正常,当我推送和克隆项目时出错。

现在似乎没有安装任何东西,我不希望每个人在克隆时都一个一个地安装所有的包。有没有办法在克隆时自动安装所有包?

我找到了一个使用 vcpkg 清单的不错的解决方案,它仍然是一个实验性功能,但我还没有遇到任何问题。要使用清单,请执行以下操作:

  • 在您的根文件夹中添加一个包含以下内容的 vcpkg.json 文件:
{
  "name": "projectname", // should be lowercase, uppercase will give an error
  "version-string": "0.1.0",
  "dependencies": [ // add here your dependencies you would normally install with vcpkg install [package name]
    "catch2"
  ]
}
  • 运行: vcpkg install --feature-flags=manifests,这将安装数组中的所有依赖项。

要删除软件包,只需从列表中删除依赖项,然后 运行 上面的命令。