首页 > 其他 > 详细

包管理Go module的使用

时间:2019-08-19 12:25:31      阅读:54      评论:0      收藏:0      [点我收藏+]

我用 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 文件夹中

技术分享图片

 

 

完。

 

包管理Go module的使用

原文:https://www.cnblogs.com/ser0632/p/11375674.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!