• 请不要在回答技术问题时复制粘贴 AI 生成的内容
uiosun
V2EX  ›  程序员

微服务请教:最近在 Golang 开始尝试 monorepo (大仓模式),某微服务不用的依赖,会被打包吗?

  •  
  •   uiosun · Jun 13, 2025 · 2663 views
    This topic created in 512 days ago, the information mentioned may be changed or developed.

    最近因为项目越做越大,定义的 structure 在多个微服务都要使用,更新起来挺麻烦的,干脆开始尝试大仓模式,它们共用一个 go.mod 。

    就请问大家,A 服务需要截图、B 服务完全不用截图,打包 B 时,会因为 go.mod 有截图包,而体积变大吗?

    jworg
    jworg
    Jun 13, 2025❤️1
    1
    一般不会,你可以做实验,但要学会分离模块的依赖,我上次尝试的情况是会按模块/文件夹引用的维度引入
    uiosun
    uiosun
    OP
    Jun 13, 2025
    2
    @jworg 欧克,感谢大佬
    kdwnil
    kdwnil
    Jun 13, 2025 via Android❤️1
    3
    不看 go.mod ,看 main.go 以及它导入的包(对应目录下所有 go 文件,不管有没有用到)有没有用到这个截图包,有就会打进去,没有就不会
    yougg
    yougg
    Jun 13, 2025❤️2
    4
    查看依赖了哪些 module
    go version -m 二进制文件

    查看依赖了自身所在 module 的哪些包
    go tool nm 二进制文件 | grep 'example.com/group/my-module/'
    maocat
    maocat
    Jun 13, 2025❤️1
    5
    不会,不然那些云服务商的 sdk 就被喷烂了
    penzi
    penzi
    Jun 13, 2025 via iPhone
    6
    用 monorepo 的只有两种团队,特别菜或者特别牛逼
    uiosun
    uiosun
    OP
    Jun 13, 2025
    7
    @yougg 哇哦,酷,谢谢大佬!

    @maocat 哈哈,好,谢谢大佬。

    @maggch97 说点有用的……
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1940 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 08:10 · PVG 16:10 · LAX 00:10 · JFK 03:10
    ♥ Do have faith in what you're doing.