加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

包管理Go module的使用

发布时间:2020-12-16 09:21:43 所属栏目:大数据 来源:网络整理
导读:我用 Golang 的 Web 框架 Iris 写项目时,发现下载依赖老是失败原因是被墙了(可以参考上一篇 https://www.cnblogs.com/ser0632/p/11374790.html)。 还有一个问题是:当你想把写好的代码发给同事看时,你不可能让你同事再次下载依赖包,而是将依赖包打包到

我用 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:GOPROJECTMyTest 目录中

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

?

?

完。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读