如何把原来的项目应用上modules
环境:
- go版本 1.13
- windows10
- vpn直连(会讲没有vpn也可以用的方法)
看完这个例子基本就能解决大多数问题了:
项目目录:
在main函数所在目录下进行初始化mod:
go mod init server
//在当前目录初始化mod
go mod tidy -v
//拉取缺少的模块,移除不用的模块(注:是当前目录下的);
//-v:建立依赖过程信息显示在控制台
关于tidy的报错的解决办法
(基本都是因为大陆无法访问https://proxy.golang.org会报错)
- http代理(懂的自然懂,我就用的这个方法。这里我遇到一个坑,需要对git做socket代理才行),不存在报错
- 买VPN
这个就不多说了,买vpn,相当于直接连接。 - 使用代理
通过环境变量
set http_proxy=http://ip:port
go get golang.org/xxx - 通过设置git代理
这也是go官方指导。
git config –global http.proxy ‘http://127.0.0.1:1080’
go get golang.org/xxx
- 买VPN
- 设置GOPROX进行代理:
用公共的代理服务https://goproxy.io或者https://goproxy.cn(七牛云提供) (go1.13默认代理地址https://proxy.golang.org)
设置代理:export GOPROXY=https://goproxy.io
此时发现还有一个报错,server引用了comm内的方法(相当于引用了本地的库)
解决办法:
- comm目录下初始化一个mod
- 修改server下的go.mod文件如下,通过replace替换为相对路径
注:一定要先在comm中初始化mod文件,用replace替换路径的时候,IDE才能找到那个路径下的包,要不然IDE会报错