包管理Go module的使用

我用 Golang 的 Web 框架 Iris 写项目时,发现下载依赖老是失败原因是被墙了(可以参考上一篇 https://www.cnblogs.com/ser0632/p/11374790.html)。

还有一个问题是:当你想把写好的代码发给同事看时,你不可能让你同事再次下载依赖包,而是将依赖包打包到项目的  vendor 目录下一块发给你的同事。

下面就讲解处理办法。

Go 的 module 很多功能,我这里只讲我工作中用到的情况。

我的工作文件夹是 D:\GOPROJECT 目录。

1.在 D:\GOPROJECT 目录中创建一个文件夹 MyTest 我也称 MyTest 为我的项目。

2.在 MyTest 目录下创建 mian.go 文件,文件内容如下:

package main

import (
	"github.com/kataras/iris"

	"github.com/kataras/iris/middleware/logger"
	"github.com/kataras/iris/middleware/recover"
)

func main() {
	app := iris.New()
	app.Logger().SetLevel("debug")
	app.Use(recover.New())
	app.Use(logger.New())
	app.Get("/",func (ctx iris.Context){
		ctx.HTML("Hello vendor")
	})


	app.Run(iris.Addr(":8080"),iris.WithoutServerError(iris.ErrServerClosed))
}

  

3.打开CMD命令框,进入到  D:\GOPROJECT\MyTest 目录中

分享图片

4.在命令框中执行以下两条命令

set GO111MODULE=on

set GOPROXY=https://goproxy.io

分享图片

 

注意:如果不想每次打开命令框输入以上两条代码,可把这两条命令写入到环境变量中,如下图:

分享图片

 

5.在命令框中执行  go mod init MyTest

分享图片

init 后面的名称可自定义,为了对应项目的名称,所以我也用了 MyTest。

执行完后会发现项目路径下多了一个 go.mod 的文件

分享图片

6.在CMD命令框中执行 go build main.go

 

分享图片

执行完后(如果你的代码没有语法错误),你会发现MyTest 目录下又多了两个文件 go.sum 和 main.exe 文件。

7.在CMD命令框执行 go mod vendor

这样就会把所有的依赖包,都打包到项目下的 vendor 文件夹中(注意 CMD的当前目录一定要在项目中)。

分享图片

此时你的项目 MyTest  会多一个 vendor 文件夹。

分享图片

 

所有的依赖包都在  vendor 文件夹中

分享图片

 

 

完。

相关文章

类型转换 1、int转string 2、string转int 3、string转float ...
package main import s "strings" import...
类使用:实现一个people中有一个sayhi的方法调用功能,代码如...
html代码: beego代码:
1、读取文件信息: 2、读取文件夹下的所有文件: 3、写入文件...
配置环境:Windows7+推荐IDE:LiteIDEGO下载地址:http:...