win10下go mod配置方式


Posted in Golang onApril 25, 2021

这是因为获取golang.org/x/...时需要翻墙,而我这里没有翻墙,不过没关系

设置下代理即可:

// bash mac  
export GOPROXY=https://goproxy.io
// powershell windows 
$env:GOPROXY = https://goproxy.io

然后再当前目录下

用powershell 执行命令:

go mod download

相关命令:

go mod init:初始化modules

go mod download:下载modules到本地cache

go mod edit:编辑go.mod文件,选项有-json、-require和-exclude,可以使用帮助go help mod edit

go mod graph:以文本模式打印模块需求图

go mod tidy:检查,删除错误或者不使用的modules,下载没download的package

go mod vendor:生成vendor目录

go mod verify:验证依赖是否正确

go mod why:查找依赖

go test 执行一下,自动导包

go list -m 主模块的打印路径

go list -m -f={{.Dir}} print主模块的根目录

go list -m all 查看当前的依赖和版本信息

linux 编译

1

GOOS=linux;GOARCH=amd64;CGO_ENABLED=0

-o 指定编译的输出文件目录

补充:win10下go mod 与gopath

GOPATH跟GOROOT不同,它是我们指向的工作空间。我们运行一个项目时需要导入依赖包,默认情况下会在我们配置的go环境的src文件下去查找,比如本身自带的“fmt”,“os”诸如此类等都在此包下

win10下go mod配置方式

go对自己配置的包的引用有严格的限制,同个目录的包是一样的,一般包名都一目录名命名,不同目录间的包可以相互引用但前提是你这个项目需要放在GOPATH路径下的src文件内才可以相互引用 在其它的目录下是引用不了的。

对于一些项目需要从github上面获取依赖这样的上面的方式效率可能不高,因为国内go get因为网络问题可能下载get不到或者太慢,这时候就可以摒弃gopath转而使用go mod了,不在需要在gopath下新建项目了,可以在任何你喜欢的目录下新建,win10具体操作如下:

win +r打开cmd

go env -w GO111MODULE=on(默认模式为auto,还有off模式 on模式是使用模块,gopath不生效;off不适用模块,gopath生效;自己写的一些项目如果不需要从网上导入依赖的话可以切换成go env -w GO111MODULE=off模式,反正就是一条命令,不用再涉及其它的环境配置)

win10下go mod配置方式

然后就可以在任意路径新建项目了,这里比如我在D:\file\github\golang\code\chapter2\新建一个sample项目,然后再

D:\file\github\golang\code\chapter2\sample下新建一个main.go文件(这是项目的起点)

然后在该目录下打开cmd

win10下go mod配置方式

我这里是因为已经生成了所以提示exists build命令也可以指定单个.go文件进行编译,但是如果是在main.go起点文件的目录下build,它可以循着main.go中导入的依赖将项目中的其它.go文件一同build

会在该目录下生成一个go.mod文件,现在试下你的项目能不能运行

可以在cmd下执行go env这里面有很多参数可以查看

win10下go mod配置方式

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Golang 相关文章推荐
golang 接口嵌套实现复用的操作
Apr 29 Golang
Go标准容器之Ring的使用说明
May 05 Golang
go类型转换及与C的类型转换方式
May 05 Golang
golang 实现时间戳和时间的转化
May 07 Golang
Go语言设计模式之结构型模式
Jun 22 Golang
go goroutine 怎样进行错误处理
Jul 16 Golang
如何利用golang运用mysql数据库
Mar 13 Golang
Golang日志包的使用
Apr 20 Golang
详解Go语言中配置文件使用与日志配置
Jun 01 Golang
Go语言测试库testify使用学习
Jul 23 Golang
Go语言编译原理之变量捕获
Aug 05 Golang
Go语言-为什么返回值为接口类型,却返回结构体
Apr 24 #Golang
go:垃圾回收GC触发条件详解
Apr 24 #Golang
基于go interface{}==nil 的几种坑及原理分析
Apr 24 #Golang
golang interface判断为空nil的实现代码
Apr 24 #Golang
golang判断key是否在map中的代码
Apr 24 #Golang
Go语言操作数据库及其常规操作的示例代码
Apr 21 #Golang
为什么不建议在go项目中使用init()
Apr 12 #Golang
You might like
Protoss兵种对照表
2020/03/14 星际争霸
PHP初学者头疼问题总结
2006/07/08 PHP
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
php eval函数用法 PHP中eval()函数小技巧
2012/10/31 PHP
PHP中使用FFMPEG获取视频缩略图和视频总时长实例
2014/05/04 PHP
php列出mysql表所有行和列的方法
2015/03/13 PHP
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
PHP函数超时处理方法
2016/02/14 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
ie 调试javascript的工具
2009/04/29 Javascript
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
javascript实现div的显示和隐藏的小例子
2013/06/25 Javascript
javascript特殊用法示例介绍
2013/11/29 Javascript
调用HttpHanlder的几种返回方式小结
2013/12/20 Javascript
动态加载jquery库的方法
2014/02/12 Javascript
JS中FRAME的操作问题实例分析
2014/10/21 Javascript
jQuery热气球动画半透明背景的后台登录界面代码分享
2015/08/28 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
2016/06/02 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
2016/11/10 Javascript
微信小程序 仿猫眼实现实例代码
2017/03/14 Javascript
Bootstrap模态框插入视频的实现代码
2017/06/25 Javascript
js导出Excel表格超出26位英文字符的解决方法ES6
2017/11/15 Javascript
jQuery实现滑动星星评分效果(每日分享)
2019/11/13 jQuery
解决vuex数据页面刷新后初始化操作
2020/07/26 Javascript
基于Vue全局组件与局部组件的区别说明
2020/08/11 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
Python实现单词拼写检查
2015/04/25 Python
Sunglasses Shop瑞典:欧洲领先的太阳镜网上商店
2018/04/22 全球购物
Chain Reaction Cycles俄罗斯:世界上最大的在线自行车商店
2019/08/27 全球购物
Mountain Warehouse波兰官方网站:英国户外品牌
2019/08/29 全球购物
培训演讲稿范文
2014/01/12 职场文书
新娘父亲婚礼致辞
2014/01/16 职场文书
社团2014年植树节活动总结
2014/03/11 职场文书
2014年团支部年度工作总结
2014/12/24 职场文书
Mysql忘记密码解决方法
2022/02/12 MySQL
使用python创建股票的时间序列可视化分析
2022/03/03 Python