go:go mod download和go mod tidy的区别
一,区能的区别
go mod download
go mod download
命令会下载所有在go.mod
文件里列出的所有模块及其依赖项,无论这些模块是否被源代码直接导入。
它只从go.mod
文件中读取模块信息,因此并不知道哪些模块是真正需要的。它不会修改go.mod
或go.sum
文件
go mod tidy
go mod tidy
命令会根据当前代码和依赖关系更新go.mod
和go.sum
两个文件。
它会根据代码中实际使用的依赖项来更新模块的依赖列表,移除未使用的依赖项,并添加新的依赖项。
同时,它也会更新go.sum
文件以匹配新的依赖项版本
二,使用场景的区别
go mod tidy
第一次打开一个外部项目,确保go.mod
和go.sum
文件的一致性,清理不再需要的依赖项。
go mod download
找开一个外部项目后,如果依赖的第三方库有缺少,用此命令下载
手动修改了go.mod
文件,运行这个命令将依赖项下载到$GOPATH/pkg/mod
中