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 slice元素去重操作
Apr 30 Golang
Go语言应该什么情况使用指针
Jul 25 Golang
使用GO语言实现Mysql数据库CURD的简单示例
Aug 07 Golang
Golang中channel的原理解读(推荐)
Oct 16 Golang
一文搞懂Golang 时间和日期相关函数
Dec 06 Golang
Go归并排序算法的实现方法
Apr 06 Golang
Go语言安装并操作redis的go-redis库
Apr 14 Golang
Golang jwt身份认证
Apr 20 Golang
Golang 切片(Slice)实现增删改查
Apr 22 Golang
Golang 实现 WebSockets 之创建 WebSockets
Apr 24 Golang
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
Jun 14 Golang
Go Grpc Gateway兼容HTTP协议文档自动生成网关
Jun 16 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
一些php项目中比较通用的php自建函数的详解
2013/06/06 PHP
php页码形式分页函数支持静态化地址及ajax分页
2014/03/28 PHP
Linux操作系统安装LAMP环境
2015/06/26 PHP
解决Laravel5.5下的toArray问题
2019/10/15 PHP
JavaScript 字符串连接性能优化
2008/12/20 Javascript
了解了这些才能开始发挥jQuery的威力
2013/10/10 Javascript
js打开windows上的可执行文件示例
2014/05/27 Javascript
jQuery异步获取json数据方法汇总
2014/12/22 Javascript
Eclipse配置Javascript开发环境图文教程
2015/01/29 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
js实现简洁大方的二级下拉菜单效果代码
2015/09/01 Javascript
Javascript实现苹果悬浮虚拟按钮
2016/04/10 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
2016/05/05 Javascript
JavaScript 基础函数_深入剖析变量和作用域
2016/05/18 Javascript
jQuery插件HighCharts实现的2D堆条状图效果示例【附demo源码下载】
2017/03/14 Javascript
浅谈原生JS中的延迟脚本和异步脚本
2017/07/12 Javascript
Vue源码解析之Template转化为AST的实现方法
2018/12/14 Javascript
Javascript的this详解
2019/03/23 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
Vue使用NProgress进度条的方法
2019/09/21 Javascript
Python cookbook(数据结构与算法)让字典保持有序的方法
2018/02/18 Python
在python shell中运行python文件的实现
2019/12/21 Python
pytorch实现特殊的Module--Sqeuential三种写法
2020/01/15 Python
python中图像通道分离与合并实例
2020/01/17 Python
python中如何进行连乘计算
2020/05/28 Python
德国领先的大尺码和超大尺码男装在线零售商:Bigtex
2019/06/22 全球购物
掌上明珠Java程序员面试总结
2016/02/23 面试题
ktv收银员岗位职责
2013/12/16 职场文书
安全责任书模板
2014/07/22 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
安全先进班组材料
2014/12/26 职场文书
Nginx配置Https安全认证的实现
2021/05/26 Servers
python实现A*寻路算法
2021/06/13 Python
基于Python和openCV实现图像的全景拼接详细步骤
2021/10/05 Python
配置Kubernetes外网访问集群
2022/03/31 Servers
Meta增速拉垮,元宇宙难当重任
2022/04/29 数码科技