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

如何本地使用自制uSockets Conan包?用于依赖链项目构建

本地复用自定义Conan包(无需发布到远程)

嘿,恭喜你已经搞定了uSockets的CMake和Conan配置!针对你想在本地直接复用这个包、不发布到远程仓库的需求,Conan提供了几个非常实用的方案,完全能满足你的场景——不管你是已经稳定了uSockets的代码,还是还在迭代开发中,都有对应的方法:

方案1:将uSockets打包到本地Conan缓存(适合代码稳定的情况)

如果你的uSockets代码已经调试完毕,不需要频繁修改,直接把它打包到本地Conan缓存就可以让其他项目引用了:

  1. 进入你的uSockets项目根目录,运行以下命令生成本地包:
    conan create . uSockets/1.0.0@yourname/local
    
    这里的uSockets/1.0.0是你自定义的包名和版本,@yourname/local是自定义的用户/频道(随便取,只要你自己记得就行,不用和远程仓库关联)。运行完这个命令后,uSockets的包就会存在你的本地Conan缓存里了。
  2. 在uWebSockets的conanfile.txt(或者conanfile.py)里,添加对uSockets的依赖,指定你刚才的自定义引用:
    # conanfile.txt示例
    [requires]
    uSockets/1.0.0@yourname/local
    libuv/[合适版本]
    [generators]
    cmake_find_package
    
  3. 之后在uWebSockets项目里正常运行conan install,Conan就会自动从本地缓存拉取uSockets,不会去远程仓库查找。同理,你的最终可执行程序只要依赖uWebSockets(如果uWebSockets也用同样方法打包到本地缓存),就能间接用到本地的uSockets了。

方案2:使用Editable模式(适合还在迭代uSockets代码的情况)

如果你还在修改uSockets的代码,不想每次改完都重新打包,那Conan的**可编辑包(editable packages)**模式就太适合了——它会让依赖项目直接链接到你本地的uSockets源码目录,实时同步代码修改:

  1. 进入uSockets项目根目录,运行命令把它标记为可编辑包:
    conan editable add . uSockets/1.0.0@yourname/local
    
  2. 和方案1一样,在uWebSockets的依赖里指定uSockets/1.0.0@yourname/local,之后运行conan install,Conan就会直接使用你本地的uSockets源码目录,你每次修改uSockets的代码后,uWebSockets的构建会自动同步最新的代码(不需要重新打包)。
  3. 当你不需要再编辑uSockets时,可以运行以下命令移除可编辑标记:
    conan editable remove uSockets/1.0.0@yourname/local
    

注意事项

  • 确保所有依赖项目(uWebSockets、你的可执行程序)里的uSockets依赖引用完全一致(包名、版本、用户/频道都要匹配),这样Conan才能正确找到本地的包。
  • 如果你的uWebSockets也需要本地复用,同样可以用上面的两种方法处理uWebSockets的Conan包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 15:32:48