(vendor 目录) Go 语言依赖管理:深入 (vendor 目录) 目录的由来与作用 在 Go 1.5 版本之前,Go 语言并没有官方的依赖管理机制。开发者通常将依赖包直接放在 目录下,这导致了多个项目共享同一份依赖代码,容易引发版本冲突和管理混乱。 为了解决这个问题,Go 1.5 引入了 目录。它的核心思想是: 项目级的依赖隔离: 每个项目可以在自己的根目录下创建一个 目录,并将项目所依赖的包(包括特定版本)复制到该目录下。 优先使用 目录: 当项目编译时,Go 编译器会优先从 目录中查找依赖包,而不是 或全局的模块缓存。 目录的引入,使得每个项目都可以拥有自己独立的、版本明确的依赖副本,有效地解决了依赖冲突问题。 Go Modules 与 Go 1.