在 Debian 环境里开发 Go 项目,依赖管理往往决定了后续维护是否顺手。现在的新项目基本都应直接采用 Go Modules;如果你接手的是老代码库,还需要分清哪些方案已经退出主流、哪些命令仍然值得保留。下面按实际开发中最常见的几个问题展开,帮你快速建立判断标准。
为什么在 Debian 上优先使用 Go Modules
从 Go 1.11 开始,官方引入了 Go Modules,这已经成为 Go 项目依赖管理的主流方案。它的价值不只是“能装包”,而是把模块边界、版本记录和依赖关系都统一到了标准机制里。
对 Debian 用户来说,这种方式也更省心:项目依赖会记录在 go.mod 中,后续协作、部署和版本追踪都更清晰。对于新项目,直接使用 Go Modules 基本没有争议。
Go Modules 常用操作怎么做
初始化模块
在项目根目录下执行下面的命令,就可以初始化一个新模块:

go mod init
这里的 是你的模块名,通常设置为项目的导入路径。初始化完成后,项目目录中会生成 go.mod 文件,后续依赖信息都会围绕这个文件维护。
添加依赖
当你在代码中导入新的包并运行项目时,Go 通常会自动下载相关依赖并写入 go.mod。如果你希望手动添加,也可以直接执行:
go get
表示目标依赖的导入路径。对于明确知道要引入哪个包的场景,这种方式更直接。
更新依赖
如果要更新项目中的全部依赖,可以使用:
go get -u
如果你只想更新某一个特定依赖,则可以带上它的路径:
go get -u
这种做法适合在修复兼容性问题或引入特定版本更新时使用,但更新前最好确认目标依赖的变更范围,避免把不必要的升级一并带入项目。
清理未使用的依赖
项目迭代一段时间后,难免会留下已经不再使用的依赖。这个时候可以执行:
go mod tidy
这条命令会帮助你整理当前模块需要的依赖关系,移除多余内容,让 go.mod 保持干净,也便于团队协作时减少无效变更。
Dep 和 Go Vendor 还适合继续用吗
Dep:老项目里可能见到,但已废弃
Dep 是 Go 早期常见的依赖管理工具,但从 Go 1.16 开始已经被官方废弃。它的历史意义主要在于帮助旧项目完成依赖管理过渡,而不是继续作为新项目方案。

如果你在 Debian 上维护的是老版本 Go 项目,可能仍会碰到 Dep;但只要条件允许,迁移到 Go Modules 仍然是更合理的选择。
Go Vendor:曾经可用,但不再是推荐路径
Go Vendor 的思路是把依赖直接复制到项目的 vendor 目录中。这个方法在早期有一定实用性,但从 Go 1.14 起,Go Modules 已经成为官方推荐方案,Vendor 不再是默认优先路线。
这意味着,除非你维护的是带有明确历史包袱或特殊交付要求的旧项目,否则没有必要为新项目回到 Vendor 模式。
实际选择建议:新项目直接用,老项目尽快迁移
如果你现在是在 Debian 上新建一个 Go 项目,最简单的结论就是:直接使用 Go Modules。它既符合官方推荐,也能把依赖管理、版本记录和后续维护统一到一套标准流程中。
如果你接手的是还在使用 Dep 或 Go Vendor 的旧项目,那么更现实的策略是评估 Go 版本与项目兼容性,逐步迁移到 Go Modules。越早完成迁移,后续开发和协作成本通常越低。







