You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行conan install时提示‘ERROR: Invalid generator 'cmake'’求助

Conan 2.x 执行旧安装脚本报错的原因及解决办法

问题重现

之前正常运行的C++项目Conan安装脚本,在brew自动更新Conan到2.0.2后执行失败。

执行脚本:

cd cmake-build-debug/ || return
rm -rf conanBuild/
mkdir conanBuild && cd conanBuild
conan install ../.. --build=missing

报错信息:

ERROR: Invalid generator 'cmake'. Available types: CMakeToolchain, CMakeDeps, MesonToolchain, MSBuildDeps, MSBuildToolchain, NMakeToolchain, NMakeDeps, VCVars, QbsProfile, VirtualRunEnv, VirtualBuildEnv, AutotoolsDeps, AutotoolsToolchain, PkgConfigDeps, BazelDeps, BazelToolchain, IntelCC, XcodeDeps, XcodeToolchain, PremakeDeps

当前环境版本:

conan: stable 2.0.2
cmake: stable 3.26.0
Homebrew 4.0.9

报错原因

Conan 2.0 对CMake生成器做了重大重构:移除了1.x版本中单一的cmake生成器,将其拆分为CMakeDeps(负责生成依赖配置)和CMakeToolchain(负责生成工具链配置)两个独立组件。旧脚本依赖1.x的生成器逻辑,因此在2.x环境中无法识别cmake生成器。

解决办法

方案一:适配Conan 2.x 修改脚本

将原conan install命令替换为使用新的生成器组合:

conan install ../.. --build=missing -g CMakeDeps -g CMakeToolchain

同时需要调整CMake项目配置(二选一即可):

  • 在项目根目录的CMakeLists.txt开头添加工具链引入:
include(${CMAKE_BINARY_DIR}/conanBuild/conan_toolchain.cmake)
  • 或者在调用cmake时显式指定工具链文件:
cmake .. -DCMAKE_TOOLCHAIN_FILE=conanBuild/conan_toolchain.cmake

方案二:降级到Conan 1.x版本

由于brew仅提供2.x稳定版,可通过pip安装指定版本:

  1. 卸载brew安装的Conan:
brew uninstall conan
  1. 安装1.x最新稳定版(例如1.60.2):
pip install conan==1.60.2

确保pip的二进制目录在系统PATH中,以便全局调用Conan命令。

内容的提问来源于stack exchange,提问作者Sokker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 01:42:29