克隆使用 vcpkg 的项目时如何安装包
How to install packages when cloning project that uses vcpkg
我正在试用 vcpkg 包管理器,但我 运行 遇到了一些问题。
我有一个使用 cmake 和 vcpkg 的 C++ 项目,并使用 vcpkg 安装 cache2 包。
现在一切正常,但是一旦我推送项目并克隆它,我就找不到如何恢复已安装的包。
我做的是这样的:
- 将 vcpkg 安装为子模块
- 使用 vcpkg 安装了 cache2
- 已将 cache2 添加到 cmake
直到现在一切正常,当我推送和克隆项目时出错。
- git 克隆 --recurse-submodules
- .\extern\vcpkg\bootstrap-vcpkg.bat
- vcpkg 列表
现在似乎没有安装任何东西,我不希望每个人在克隆时都一个一个地安装所有的包。有没有办法在克隆时自动安装所有包?
我找到了一个使用 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,这将安装数组中的所有依赖项。
要删除软件包,只需从列表中删除依赖项,然后 运行 上面的命令。
我正在试用 vcpkg 包管理器,但我 运行 遇到了一些问题。 我有一个使用 cmake 和 vcpkg 的 C++ 项目,并使用 vcpkg 安装 cache2 包。 现在一切正常,但是一旦我推送项目并克隆它,我就找不到如何恢复已安装的包。
我做的是这样的:
- 将 vcpkg 安装为子模块
- 使用 vcpkg 安装了 cache2
- 已将 cache2 添加到 cmake
直到现在一切正常,当我推送和克隆项目时出错。
- git 克隆 --recurse-submodules
- .\extern\vcpkg\bootstrap-vcpkg.bat
- vcpkg 列表
现在似乎没有安装任何东西,我不希望每个人在克隆时都一个一个地安装所有的包。有没有办法在克隆时自动安装所有包?
我找到了一个使用 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,这将安装数组中的所有依赖项。
要删除软件包,只需从列表中删除依赖项,然后 运行 上面的命令。