微信网站模版下载,百度推广关键词优化,wordpress ajax 搜索,智能网站搭建Go 语言在 go 1.6 版本以后编译 go 代码会优先从 vendor 目录先寻找依赖包#xff0c;它具有以下优点#xff1a;
复制依赖#xff1a;go mod vendor 会把程序所依赖的所有包复制到项目目录下的vendor 文件夹中#xff0c;所以即使这些依赖包在外部源#xff08;如 GitHu…
Go 语言在 go 1.6 版本以后编译 go 代码会优先从 vendor 目录先寻找依赖包它具有以下优点
复制依赖go mod vendor 会把程序所依赖的所有包复制到项目目录下的vendor 文件夹中所以即使这些依赖包在外部源如 GitHub中被删除或者更改项目仍然可以稳定运行。提升构建速度构建应用时Go 会首先在 vendor 目录中查找依赖。如果找到了所需的包那么 Go 就会直接使用这个包而不再去下载。提升项目的可移植性由于所有的依赖都被复制到了 vendor 目录中所以可以很容易地把整个项目复制到新的环境无需担心依赖问题。
然而vendor 机制并不是一个完美的解决方案。它需要将所有的依赖都复制到 vendor 目录中这可能会导致项目的大小变得非常大。另外这可能会对代码审查和版本控制系统如 Git的性能产生负面影响。
因此从Go 1.11版本开始使用 Go Modules 进行依赖管理已经成为了推荐的做法而vendor机制逐渐被淡化。不过vendor目录并没有被完全废弃。