环境变量¶
只有很少的环境变量可用于配置 Conan 的一些行为。 这些变量是例外,对于自定义和配置控制,Conan 使用 global.conf 配置文件 和 profile [conf] 部分
CONAN_HOME¶
此变量控制 Conan 主文件夹的位置。 默认情况下,如果未定义,它将是 <用户名>/.conan2。
注意
请记住,Conan 主目录中包含的 Conan 包缓存不是并发的。 CI 中可能发生的不同的并行任务需要使用单独的缓存,定义 CONAN_HOME 是实现此目的的方法。
CONAN_DEFAULT_PROFILE, CONAN_DEFAULT_BUILD_PROFILE¶
默认配置文件将是 Conan 缓存中的 "default" 文件。 这些环境变量允许为 host 和 build profile 分别定义不同的默认值。 还有等效的 conf 项目 core:default_profile 和 core:default_build_profile 来定义这样的默认配置文件名。 通常,只有在 conf 不够时才应使用环境变量。
远程登录变量¶
CONAN_LOGIN_USERNAME, CONAN_LOGIN_USERNAME_{REMOTE_NAME} 定义给定远程的登录用户名。 CONAN_PASSWORD, CONAN_PASSWORD_{REMOTE_NAME} 定义给定远程的登录密码。
这些环境变量只是在 Conan CLI 请求时交互式输入用户名或密码的替代方案。 它们除非远程服务器抛出身份验证挑战,否则不会执行任何类型的身份验证。 这意味着对于配置为允许匿名使用的某些远程服务器,这些变量将不会被使用,并且用户将保持未经验证的用户状态,除非首先执行 conan remote login 或 conan remote auth。
当 Conan CLI 即将要求用户提供远程密码时,它将首先检查变量 CONAN_LOGIN_USERNAME_{REMOTE_NAME} 或 CONAN_PASSWORD_{REMOTE_NAME},如果变量未声明,Conan 将尝试使用变量 CONAN_LOGIN_USERNAME 和 CONAN_PASSWORD,如果变量两者均未声明,Conan 将请求用户输入密码或失败。
远程名称将被转换为全大写。 如果远程名称包含“ -”,则必须在变量名称中将其替换为“ _”。
注意
这些变量对于无人值守的执行(如 CI 服务器或自动化任务)很有用,作为 CI 密钥
不建议在开发人员机器上使用这些变量。
请记住,除非远程服务器请求,否则这些变量不会执行身份验证。
可以在
global.conf中定义core:non_interactiveconf,以强制 Conan 在请求任何交互式提示时失败,以避免 CI 进程卡住。
终端颜色变量¶
Conan 的默认行为是尝试自动检测输出。 如果输出重定向到文件或其他不支持 tty 的支持,则它将禁用彩色输出。 对于常规终端,它将尝试进行彩色输出,除非以下某些内容更改了该行为
CLICOLOR_FORCE强制生成终端颜色转义字符,无论终端的自动检测如何。NO_COLOR禁用生成颜色转义字符。 如果激活了CLICOLOR_FORCE,则将忽略此设置。CONAN_COLOR_DARK将反转白色/浅色背景终端的颜色方案(默认假定为深色背景)。
日志记录¶
环境变量 CONAN_LOG_LEVEL 可以定义 Conan 命令行详细程度,与 -v 命令行参数相同,具有相同的值(error、verbose 等)。 如果同时存在两者,它也优先于命令行参数的值。 这对于在 CI 管道、自动化等中临时更改日志级别而无需修改命令行参数非常有用。