Settings

The registry settings can be used to customize the registry for all projects. If no registry is specified, the packages will be fetched via HTTP from the official registry. The registry settings are specified in the global configuration file.

Global configuration file

The global configuration file can be used to set default options across all fpm projects on the system. It is, by default, located at ~/.local/share/fpm/config.toml on Unix-like machines and %APPDATA%\local\fpm\config.toml on Windows and must be parsable to a TOML structure. It can be used to configure registry settings.

注册表缓存

注册表缓存包含以前下载的软件包的源代码。在下载软件包之前,它将首先搜索符合请求项目要求的现有软件包。默认的缓存位置在类似Unix的机器上是~/.local/share/fpm/dependencies,在Windows上是%APPDATA%/local/fpm/dependencies。缓存的位置可以通过在全局配置文件中设置cache_path来改变:

[registry]
cache_path = "/path/to/cache"

自定义注册表

如果你想使用一个自定义的注册表,你可以在全局配置文件中指定它:

[registry]
url = "https://my-registry.com"

你的注册表必须实现与官方注册表相同的API

本地注册表

如果你想设置一个本地注册表,请使用以下配置:

[registry]
path = "/path/to/registry"

fpm会在这个目录下搜索软件包,而不会从互联网上下载软件包或从缓存中获取软件包。

该目录必须按照fpm所期望的方式来结构化。一个软件包必须位于以命名空间名称命名的目录中,后面是软件包的名称和软件包的版本。例如,版本为0.1.0'的my-package包是my-namespace的一部分,在类似Unix的系统中必须位于<path_to_local_registry>/my-namespace/my-package/0.1.0目录下。软件包目录必须包含一个fpm.toml文件,其中有软件包元数据。因此,清单必须位于<path_to_local_registry>/my-namespace/my-package/0.1.0/fpm.toml`。

If a specific version is requested, fpm will look for that version in the local registry. If you do not specify a version, fpm will look for the version with the highest precedence.

For instructions on how to set up project dependencies in fpm.toml when using a registry see