go mod环境搭建

科工人 等级 481 0 0

前言

go mod 是golang最新的模块依赖管理的工具,推荐使用。

go 1.11通过设置环境变量GO111MODULE来决定是否启用
go1.13已经默认支持,以下以1.13为例

配置环境变量

goproxy :设置拉取依赖包的代理
gopath: 用了go mod为什么还需要配置gopath呢? go mod download之后会把依赖的包下载到$GOPATH/pkg/mod,可以理解为下载路径

开始

创建新项目

go mod环境搭建

image.png

goland 新建项目的时候可以直接指定使用go mod模式,创建完成后就有go.mod文件

另外也可以直接创建一个空的项目目录,之后再go mod init XXXX,也会生成go.mod

  • go mod init XXXX 初始化项目,将项目的初始信息写入go.mod,里面有xxxx的项目名和go版本号,注意:XXXX是项目名,不是路径

旧项目

外部导入的项目,如果原来就是go mod模式,在设置里面开启go mod检查依赖

go mod环境搭建

image.png

如果原来不是go mod包管理,修改目录结构之后,依然要go mod init XXXX,然后go mod tidy,
有时代码中import的路径也需要修改。

下载依赖包

  • 直接在代码中import
![](https://img-hello-world.oss-cn-beijing.aliyuncs.com/3000058710287312640f63b0b417c0dc.png)

image.png
  • 之后打开命令行 : go mod tidy 就会下载依赖(默认下载release版本),直接使用就可以了

关于命令行:golang里面可以直接打开命令行

go mod环境搭建

image.png

在哪个目录右键,命令行当前路径就在哪个目录下,go build,go run也可以直接使用

vs code也有一样的命令行

go mod命令

  • go mod init # 初始化当前目录为模块根目录,生成go.mod, go.sum文件
  • go mod download # 下载依赖包
  • go mod tidy #整理检查依赖,如果缺失包会下载或者引用的不需要的包会删除
  • go mod vendor #复制依赖到vendor目录下面
  • go mod 可看完整所有的命令
  • go mod graph 以文本模式打印模块需求图
  • go mod verify 验证依赖是否正确
  • go mod edit 编辑go.mod文件

以上是基本使用,go mod出彩的地方在于版本管理。
一种是go get 的时候指定版本,另外可以在go.mod文件中 对某个依赖进行版本替换。

收藏
评论区

相关推荐

Golang高阶:Golang1.5到Golang1.12包管理
版权所有,转载请注明:http://www.lenggirl.com/go/gomod.html(https://links.jianshu.com/go?tohttp%3A%2F%2Fwww.lenggirl.com%2Fgo%2Fgomod.html) 1. 前言 Golang 是一门到如今有十年的静态高级语言了,2009年的时
Golang高并发抓取HTML图片
版权所有,转载请注明:http://www.lenggirl.com/language/gopicture.html(https://links.jianshu.com/go?tohttp%3A%2F%2Fwww.lenggirl.com%2Flanguage%2Fgopicture.html) 使用准备 1.安装Golang 2.
Golang指南:顶级Golang框架、IDE和工具列表
自推出以来,Google的Go编程语言(Golang)越来越受主流用户的欢迎。在2016年12月的一份调研中,3,595名受访者中有89%表明他们在工作中或工作以外用Go语言编程。 此外,在编程语言中,Go语言在专业知识和偏好方面排名最高。2017年7月,在Tiobe的年度编程语言排名(https://www.tiobe.com/tiobeindex
【Golang】Golang + jwt 实现简易用户认证
<p本文已同步发布到我的个人博客:<a href"https://links.jianshu.com/go?tohttps%3A%2F%2Fglorin.xyz%2F2019%2F11%2F23%2FGolangjwtsimpleauth%2F" target"_blank"https://glorin.xyz/2019/11/23/Golang
golang 中神奇的 slice
声明:本文仅限于简书发布,其他第三方网站均为盗版,原文地址: golang 中神奇的 slice(https://links.jianshu.com/go?tohttps%3A%2F%2Fliqiang.io%2Fpost%2Fimagesliceingolang) 在 golang 中,似乎人们都不太喜欢使用 Linked List,甚至于原
godoc 命令和 golang 代码文档管理
介绍 godoc 是 golang 自带的文档查看器,更多的提供部署服务 go doc 和 godoc 在 golang 1.13 被移除了,可以自行安装 golang.org go1.13 godoc(https://links.jianshu.com/go?tohttps%3A%2F%2Fgolang.org%2Fdoc%2Fg
为什么GOPROXY对Golang开发如此重要
为什么GOPROXY对Golang开发如此重要 引言 从Go 1.13开始,Go Module作为Golang中的标准包管理器,在安装时自动启用,并附带一个默认的GOPROXY。 但是对于其他的GOPROXY选项,比如JFrog GoCenter,以及你自己的Go Module包,你需要在公众视野中保持安全,你应该选择什么样的配置? 你怎样才能
【Golang】Go入门及进阶书籍推荐
Go入门教程全集 链接: https://pan.baidu.com/s/1mWD7DpRa56WXi7WmNaohOg(https://pan.baidu.com/s/1mWD7DpRa56WXi7WmNaohOg) 提取码: ki1e Cloud.Native.Go.pdf C和指针.pdf C面向对象多线程编程.pdf Design Patt
【Golang】GoWeb框架之Gin-简明教程
Gin 简介 Gin is a HTTP web framework written in Go (Golang). It features a
【程序人生】毕业入职后,C++转Go语言工作半年感受
我在大学期间就听说了Go并学习了一段时间,坦白的说,那时候对Go是比较无感的,因为并 没有看到Go特别亮眼的地方,可能和我使用C、C、Java有关,这三
Golang中常用的字符串操作
Golang中常用的字符串操作 一、标准库相关的Package go import( "strings" ) 二、常用字符串操作 1. 判断是否为空字符串 1.1 使用“”进行判断 思路:直接判断是否等于""空字符串,由于Golang中字符串不能为 nil,且为值类型,所以直接与空字符串比较即可。 举例: go
深入理解 Go Slice
(https://imghelloworld.osscnbeijing.aliyuncs.com/0ce8a8773a658d4b843e5796a0dbf001.png) image 原文地址:深入理解 Go Slice(https://github.com/EDDYCJY/blog/blob/master/golang/pkg/20
我的golang基础
库查询 https://gowalker.org/你应该$HOME/.profile文件增加下面设置。 搭建go的环境 step1:去golang的官网下载go的安装包 windows:go1.9.2.....msi mac:go1.9.2......pkg 双击傻瓜式安装 linux:go1.9.2.linuxamd64.tar.gz 默认到下
go mod环境搭建
前言go mod 是golang最新的模块依赖管理的工具,推荐使用。 go 1.11通过设置环境变量GO111MODULE来决定是否启用 go1.13已经默认支持,以下以1.13为例配置环境变量 export GOPROXY 或 export GOPROXY export GOPATH"/Users/XXX
go get下载包失败问题
关于我由于某些不可抗力的原因,国内使用go get命令安装包时会经常会出现timeout的问题。本文介绍几个常用的解决办法。 从github克隆golang在github上建立了一个镜像库,如https://github.com/golang/net就对应是 https://golang.org/x/net的镜像库。 要下载golang.org/x/net包