我用 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@R_404_5565@ ( "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的使用全部内容,希望文章能够帮你解决包管理Go module的使用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)