环境变量¶
这些是非常少的环境变量,可用于配置 Conan 的某些行为。这些变量是例外情况,对于自定义和配置控制,Conan 使用 global.conf 配置 以及 profile [conf] 部分
CONAN_HOME¶
此变量控制 Conan 主文件夹的位置。默认情况下,如果未定义,它将是 <username>/.conan2
。
注意
请注意,Conan 主目录中包含的 Conan 包缓存不是并发的。不同的并行任务(例如在 CI 中可能发生的任务)需要使用单独的缓存,而定义 CONAN_HOME
是实现此目的的方法。
CONAN_DEFAULT_PROFILE¶
默认配置文件将是 Conan 缓存中的 "default"
文件。此环境变量允许定义不同的默认名称。还有 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 密钥。
不建议在开发人员机器上使用这些变量。
请注意,除非远程服务器请求身份验证,否则这些变量不执行身份验证。
core:non_interactive
配置可以在global.conf
中定义,以强制 Conan 在请求任何交互式提示时失败,从而避免 CI 过程卡住。
终端颜色变量¶
Conan 的默认行为是尝试自动检测输出。如果输出重定向到文件或其他不支持打印颜色的非 tty
设备,它将禁用彩色输出。对于常规终端,它将尝试进行彩色输出,除非以下某些因素改变了该行为:
CLICOLOR_FORCE
强制生成终端颜色转义字符,无论终端的自动检测结果如何。NO_COLOR
禁用颜色转义字符的生成。如果CLICOLOR_FORCE
被激活,此设置将被忽略。CONAN_COLOR_DARK
将反转白色/浅色背景终端的配色方案(默认假定深色背景)。
日志记录¶
环境变量 CONAN_LOG_LEVEL
可以以与命令行参数 -v
相同的方式定义 Conan 命令行的详细程度,使用相同的值(error
、verbose
等)。如果两者都存在,它也优先于命令行参数的值。这对于在 CI 流水线、自动化等场景中临时更改日志级别非常有用,而无需修改命令行参数。