一、设置环境变量
二、启用 go modules 功能 并设置代理
https://goproxy.io/zh/
补充:
GO111MODULE 有三个值:on、off、auto
-
GO111MODULE=off ,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。
-
GO111MODULE=on ,go命令行会使用modules,而一点也不会去GOPATH目录下查找。
-
GO111MODULE=auto ,默认值,go命令行将会根据当前目录来决定是否启用module功能。
modules 功能启用后,依赖包的安装位置在 $GOPATH/pkg 目录下;go mod 提供的命令如下:
三、go mod 命令管理包
- 在 GOPATH 以为的任意路径下新建项目目录,eg:GOPATH目录为 D:GoCode;项目目录为 D:Project/testProject
- 进入项目目录,新建目录 bin、src/main,进入 src 目录;注:此处目录可随意。
- 使用命令:go mod init main,此时生成一个 go.mod 文件;注:go mod init 命令后面也可以跟上文件名称(带后缀)。go.mod文件创建后,它的内容将会被go toolchain全面掌控。go toolchain会在各类命令执行时,比如go get、go build、go mod等修改和维护go.mod文件。
- 进入 main目录,新建 main.go 文件,写入代码:
package main
import (
"net/http"
"github.com/labstack/echo"
)
func main() {
e := echo.New()
e.GET("/", func(c echo.Context) error {
return c.String(http.StatusOK, "Hello, World!")
})
e.Logger.Fatal(e.Start(":1323"))
}
main.go
- 使用命令:go run main.go,正常运行的结果如下:
- go module 安装 package 的原则是先拉最新的 release tag,若无tag则拉最新的commit。 go 会自动生成一个 go.sum 文件来记录 dependency tree。go.mod 文件内容如下
go.moudles 的官方介绍:https://github.com/golang/go/wiki/Modules
go.mod 提供了module , require 、replace 和exclude 四个命令
-
module 语句指定包的名字(路径)
-
require 语句指定的依赖项模块
-
replace 语句可以替换依赖项模块
-
exclude 语句可以忽略依赖项模块
|
请发表评论