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

Conan安装时路径出现多余点引发文件找不到错误求助

Conan安装组件时出现包含多余.的无效路径导致FileNotFoundError

问题描述

安装IOSS 7.0.0包后,Conan抛出FileNotFoundError,提示路径:

C:\Users\{USERNAME}\.conan\data\IOSS\7.0.0\Compass\Release\package\e0698b86d575a60ad0dc25e6cb03ccfbd2f6b04f\.\IOSS\Docs\Generated\html\struct_f_a_c_e_1_1_i_o_s_s_1_1_precision_synchro_1_1_i_o___p_a_r_a_m_e_t_e_r___t_r_a_n_s_a_c_t_i_o_n___t_y_p_e-members.html

不存在。异常点在于路径中\IOSS前的多余.(即...b04f\.\IOSS...),手动移除.后路径实际有效。已尝试以下方法但未解决:

  • 在Conan配置文件中设置use_always_short_paths = False
  • 重启电脑
  • 升级Conan版本
  • 启用Windows NTFS长路径

可能原因

  1. 包Recipe路径处理缺陷:IOSS包的Conan recipe在package()阶段使用了带.的相对路径(如./IOSS),Conan在部署时未正确解析该相对路径,直接将.保留进了最终路径。
  2. Conan Windows路径解析逻辑异常:Conan在处理Windows系统路径时,对当前目录标识.的转换逻辑出错,未自动将.\简化为直接的子目录路径。
  3. 本地缓存残留旧数据:即使升级了Conan,本地缓存中可能留存了旧的包路径配置,未被彻底清理。

解决方案

  • 清理并重新安装包:执行以下命令彻底移除缓存中的IOSS包,再重新安装:
    conan remove IOSS/7.0.0@Compass/Release -f
    # 重新执行你的安装命令,例如:
    conan install <your-conanfile> --profile <your-profile>
    
  • 检查并修正包Recipe:如果是自行维护的IOSS包Recipe,检查package()方法中的路径复制逻辑,将类似copy(self, "*", src="./IOSS", dst="IOSS")的代码改为src="IOSS",避免引入多余的.。
  • 手动修正缓存路径配置:找到包的安装目录,检查确认IOSS目录存在后,查找并修改该包的元数据文件(如conaninfo.txt或相关路径配置文件),将所有.\IOSS替换为IOSS。
  • 强制重新构建部署:安装时添加--rebuild参数,强制Conan重新处理包的部署流程,避免复用缓存中的错误路径:
    conan install <your-conanfile> --rebuild
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 08:25:14