标签:国内 jfrog 历史 变量 镜像 七牛 演示 特点 lang
go 1.6 前,GOPATH
作为第三方的依赖目录。
GOPATH 默认位置~/go
(linux, unix, Mac)
export GOPATH=/path/to/dir
export GO111MODULE=off
第三方库存放位置,GOPATH目录下的src目录下,/path/to/dir/src
go 1.6 版本发布,vender
目录被添加到除GOPATH
和GOROOT
之外的依赖目录。
依赖查找路径
vender
目录下vender
目录go 1.8 加入 gomod 作为依赖管理。
特点: 依赖由go命令统一管理,开发者不用关心目录结构。
go mod init
初始化模块,例如 go mod init github.com/wjp2013/hello
go build, go test
和其它构建命令会自动为 go.mod 添加新的依赖go get
改依赖关系的所需版本(或添加新的依赖关系)go list -m all
列出当前模块及其所有依赖项go mod tidy
拉取缺少的模块,移除不用的模块go mod download
下载依赖包到本地 cachego mod edit
编辑 go.mod 文件,选项有 -json、-require 和 -exclude,可以使用帮助 go help mod editgo mod graph
打印模块依赖图go mod vendor
将依赖复制到 vendor 目录go mod verify
验证依赖是否正确go mod why
解释为什么需要依赖Go Modules 是否启用目前由环境变量 GO111MODULE 控制。
临时修改
export GO111MODULE=off
修改全局变量
go env -w GO111MODULE=on
创建go mod
go mod init test.com
会在当前目录下创建一个 go.mod 文件,模块名为test.com
。
生成依赖
go mod tidy
会自动生成依赖,填充 go.mod, go.sum 文件。go build, go test
等命令,会更新 go.mod, go.sum 文件。更新依赖
go list -m all
查看当前项目正在使用的 package 版本,然后执行 go get xxx/xxx
来更新指定的 package, 再执行 go test
会自动更新 go.mod 文件。
>$ go list -m -versions github.com/gin-gonic/gin
// 将会列出 Gin 版本历史
github.com/gin-gonic/gin v1.1.1 v1.1.2 v1.1.3 v1.1.4 v1.3.0
将版本更新到上个版本,这里只是个演示。
>$ go get github.com/gin-gonic/gin@v1.1.4 // 只需要在依赖后面加上 @version 就可以了
>$ go list -m all
// 看到了版本变化
github.com/gin-gonic/gin v1.1.4
或者可以使用 go mod
来进行版本的切换,这样就需要两个步骤了:
>$ go mod edit -require="github.com/gin-gonic/gin@v1.1.4" // 修改 go.mod 文件
>$ go mod tidy //下载更新依赖
国内网络访问国外资源经常会出现不稳定的情况。因此设置 CDN 加速代理就很有必要了,以下是几个速度不错的提供者:
# 启用 Go Modules 功能
go env -w GO111MODULE=on
# 配置 GOPROXY 环境变量
go env -w GOPROXY=xxxx
Refer: Go module
标签:国内 jfrog 历史 变量 镜像 七牛 演示 特点 lang
原文地址:https://www.cnblogs.com/hiyang/p/12695155.html