码迷,mamicode.com
首页 > 其他好文 > 详细

Go mod包管理

时间:2020-01-11 11:35:58      阅读:980      评论:0      收藏:0      [点我收藏+]

标签:就是   命令   创建   配置   ant   tin   mod   test   不必要   

介绍

Go1.11版本(已上版本)支持module功能,用于源代码更替和版本控制。可替代对GOPATH的依赖,不必在$GOPATH/src下新建项目,而是任意包含go.mod的目录都可以是工程目录。注意:$GOPATH目录还有要配置的。

使用

1.现在在vagrant/www/go/下面创建test项目目录(ps:GOPATH="/vagrant/go",可以用go env查看)

mkdir test

2.进入test执行,go mod init [模块名](ps:[模块名]必须跟项目同名)

go mod init test  

技术图片

看到提示 “go: creating new go.mod: module test”  说明 go mod 初始化成功了,会在当前目录下生成一个 go.mod 文件

包含go.mod文件的目录也被称为模块根,也就是说,go.mod 文件的出现定义了它所在的目录为一个模块

3.引入项目或者创建main.go

技术图片

 这里我引入的是一个项目,注意的main.go文件,其他的不要

4.go mod tidy -v // 添加确实模块

技术图片

 添加完成可以去GOPATH/pkg看到有一个mod文件夹,里面就是刚刚下载的模块

5.go mod vendor -v // 当前目录下生产vendor目录,包含所有依赖包

技术图片

 ll可以看到test项目项目多了一个vendor文件夹

技术图片

同时go.mod和go.sum多了一下

技术图片

 

 技术图片

6.运行项目

go  run main.co

技术图片

go mod命令

go mod download              // 下载依赖到本地缓存,查看GOCACHE缓存地址
go mod graph                    //把模块之间的依赖图显示出来
go mod init [模块名]           // 当前目录初始化和创建`go.mod`文件,最好是项目名
go mod tidy -v                    // 添加确实模块和移除不必要的模块
go mod vendor -v              // 当前目录下生产vendor目录,包含所有依赖包
go mod verify                    // 检查当前模块的依赖是否已经存储在本地下载的源代码缓存中
go build -mod=vendor      // 依赖module下的vendor生成可执行文件

go get rsc.io/sampler       //更新稳定版依赖

GO111MODULE环境变量

GO111MODULE=off      // 不用module功能,GOPATH模式寻找依赖包
GO111MODULE=on      // module模式,build时找module下的vendor,GOPATH承担下载依赖包到GOPATH/pkg/mod
GO111MODULE=auto   // 根据当前目录是否包含go.mod来判断

Go mod包管理

标签:就是   命令   创建   配置   ant   tin   mod   test   不必要   

原文地址:https://www.cnblogs.com/jxxiaocao/p/12179329.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!