教程:使用文件系统目录设置 vcpkg 二进制缓存

不限于将默认的二进制缓存位置作为唯一的本地二进制缓存,可以将多个文件系统位置配置为二进制缓存。 甚至可以设置具有不同权限的特定缓存,例如只读、只写或读取和写入权限。

所有二进制缓存都是通过 VCPKG_BINARY_SOURCES 环境变量进行配置的。 VCPKG_BINARY_SOURCES 的值遵循特定的配置语法

在本教程中,将了解如何:

先决条件

  • 终端
  • vcpkg

1 - 创建二进制缓存目录

使用 files 后端时,你可以使用文件系统目录来存储二进制包,包括网络位置。

在本教程中,你将会创建两个二进制缓存位置,一个具有读写访问权限,另一个仅具有读取访问权限。

创建两个二进制缓存位置(替换为你选择的任何位置):

mkdir D:\vcpkg\binary-cache
mkdir \\remote\shared\vcpkg\binary-cache
mkdir /home/vcpkg/binary-cache
mkdir /mnt/remote/shared/vcpkg/binary-cache

2 - 配置 VCPKG_BINARY_SOURCES

接下来,设置 VCPKG_BINARY_SOURCES 的值,如下所示:

$env:VCPKG_BINARY_SOURCES="clear;files,\\remote\shared\vcpkg\binary-cache,read;files,D:\vcpkg\binary-cache,readwrite"
set "VCPKG_BINARY_SOURCES=clear;files,\\remote\shared\vcpkg\binary-cache,read;files,D:\vcpkg\binary-cache,readwrite"

VCPKG_BINARY_SOURCES 配置将添加以下源字符串:

  • clear,禁用以前配置的任何二进制缓存,在这种情况下,它会禁用默认的二进制缓存
  • files,\\remote\shared\vcpkg\binary-cache,read,使用位于 \\remote\shared\vcpkg\binary-cache 的系统后端 files 来设置二进制缓存,并为其赋予只读权限(read 为默认权限)。
  • files,D:\vcpkg\binary-cache,readwrite,设置位于 D:\vcpkg\binary-cache 的第二个文件系统二进制缓存,并为其赋予读写权限 (readwrite)。
export VCPKG_BINARY_SOURCES="clear;files,/mnt/remote/shared/vcpkg/binary-cache,read;files,/home/vcpkg/binary-cache,readwrite"

VCPKG_BINARY_SOURCES 配置将添加以下源字符串:

  • clear,禁用以前配置的任何二进制缓存,在这种情况下,它会禁用默认的二进制缓存
  • files,/mnt/remote/shared/vcpkg/binary-cache,read,使用位于 /mnt/remote/shared/vcpkg/binary-cache 的系统后端 files 来设置二进制缓存,并为其赋予只读权限(read 为默认权限)。
  • files,/home/vcpkg/binary-cache,readwrite,设置位于 /home/vcpkg/binary-cache 的第二个文件系统二进制缓存,并为其赋予读写权限 (readwrite)。

后续步骤

下面是接下来要尝试的其他任务: