在使用 go.mod 项目构建时,如果有多个应用程序分别在不同目录下,当编译其中一个程序(例如 rpc 程序)后,另一个程序(例如 api 程序)的可执行文件可能会发生变化,即使 api 程序并没有重新编译。

这可能是因为在编译 rpc 程序时,api 程序的依赖库发生了变化,导致 api 程序的可执行文件也受到影响。

为了解决这个问题,可以尝试以下几个步骤:

  1. 使用 go mod tidy 命令清理依赖,确保两个应用程序的依赖库一致。

  2. 在编译 rpc 程序时,使用 go build -ldflags="-s -w" 命令禁用符号表和调试信息,减少对依赖库的依赖,从而避免对 api 程序的影响。

  3. 可以将 api 程序的可执行文件打包成 docker 镜像或者单独部署,避免在编译 rpc 程序时对 api 程序的影响。

Go.mod 项目构建时,两个应用程序互相影响的解决方法

原文地址: https://www.cveoy.top/t/topic/ntuu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录