【问题标题】:conan package manager: globally specify build folder柯南包管理器:全局指定构建文件夹
【发布时间】:2021-05-17 15:09:28
【问题描述】:

默认情况下(在Linux上),柯南在/home/user/.conan/data/package/version/_/_/build/hash下创建一个构建文件夹

我想使用 /tmp/conan/package/version/hash/ 之类的东西作为构建文件夹。

对于单个包,这很容易通过-bf 选项实现。但是,当构建许多包时,这变得乏味。有没有办法在配置设置中将构建文件夹全局设置到/tmp 下的某个位置?

【问题讨论】:

    标签: conan


    【解决方案1】:

    没有办法只将构建文件夹与数据分开,但您可以设置Storage Path

    如果您也想丢弃测试包构建文件夹,请使用CONAN_TEMP_TEST_FOLDER 环境变量。

    构建文件夹背后的想法是将源代码与构建的缓存分开。如果您正在使用conan create 命令开发新配方,可能您需要在配方中进行许多更改,但您不想为每次新执行下载相同的源,因此您保留源文件夹,并且只重新创建构建文件夹。

    如果你真的想在构建包后删除构建文件夹,可以使用Hooks,例如:

    from conans import tools
    
    def post_package(output, conanfile, conanfile_path, **kwargs):
        output.info("BUILD FOLDER TO BE REMOVED: %s" % conanfile.build_folder)
        tools.rmdir(conanfile.build_folder)
    

    【讨论】:

    • 谢谢,我想我会提交一个功能请求。与其说是清理,不如说是避免(有时更多,有时更少)磁盘写入。
    • 在此处打开您的功能请求:github.com/conan-io/conan/issues
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多