Windows10 下从0搭建Glide依赖管理

开始跟着极客时间学习go语言课程,为了方便,一直在win10系统开发(老师是在Mac上),依赖管理这一章节卡了一小会。Glide虽然已经不再维护,官网文档也建议使用go mod,但是还是想学习一下glide。
首先在管理第三方包依赖的事情上,go自带的GOPATH和GOROOT有诸多缺憾,比如依赖查找和版本管理,因此go引入vendor路径来解决这个问题。
接下来就开干!

博主就依托极客时间的课程的进度,项目都是里面的。

一步一步来引入glide管理我们的依赖:
0、项目下目录结构,以及直接使用原始依赖管理
我的GOPATH定义在go_learnning目录下,如下图

项目目的是要引入老师在github中的一个concurrent_map的package,做一个小demo

测试程序remote_package_test.go:

package remote_package

import (
    "testing"

    cm "github.com/easierway/concurrent_map"
)

func TestConcurrentMap(t *testing.T) {
    m := cm.CreateConcurrentMap(99)
    m.Set(cm.StrKey("key"), 10)
    t.Log(m.Get(cm.StrKey("key")))
}

控制台切到当前程序目录下,执行go get命令获取远程包到本地,此时%GOPATH%\src目录下多了本地依赖目录(注意:此时还未引入glide)github.com,里面就是程序需要导入的包

github.com/easierway/concurrent_map,这点可以参考Maven

运行test也是没问题的

1、使用Glide管理

官方文档介绍的安装过程

1)按照官方文档来,拉取glide源码并编译

clone成功后我们发现%GOPATH%\src下的github.com目录下多了Masterminds的源码目录,这就是glide的源码,按照官方文档我们要切到图中的glide目录下

由于我的go版本是1.16,大于1.5,所以不需要设置GO15VENDOREXPERIMENT=1的环境变量,1.5版本的需要手动设置下

接下来就是用make命令编译源码(Linux下按照源码编译安装软件的小伙伴都明白,make命令),但是win10中需要mingw32-make命令

window下需要安装mingw-w64,它的bin目录下有make命令

最好设置到环境变量中,这样就可以在当前glide目录下编译源码

没有报错说明编译成功!

2、安装glide

没有报错,此时%GOPATH%\bin目录下会生成glide.exe文件

同样道理,最好把这个可执行文件添加到环境变量中,这样就可以在你自己项目的目录(任意位置下)中使用glide.exe这个命令了

3、在自己项目目录下构建glide

执行glide.exe init来创建glide

这里有一个小坑,博主是在vscode中写程序的,终端执行后报错了,退出重启也不行

于是直接在cmd里操作下

接下来一步一步来,不必跟我一样,你开心就好

此时看到上图说明构建成功,同时我们的项目目录下面也产生了变化

项目下生成glide.yaml文件,打开这个文件有我们代码中需要的concurrent_map的包。

但是我们在第0步的时候已经在github.com目录下拉取过concurrent_map包,为了让glide来管理这个包,我们需要先删除掉这个concurrent_map包

此时,我们执行下test程序,肯定是找不到concurrent_map包

4、利用glide拉取远程包,并安装到本地

执行glide.exe get命令我们发现报错了,这时候我们去glide的源码包目录下的path目录中找到winbug.go文件,打开文件定位到CustomRename函数,替换这一行

cmd := exec.Command("cmd.exe", "/c", "move", o, n)为

cmd := exec.Command("cmd.exe", "/c", "xcopy /s/y", o, n+"\\")

然后重新安装下glide,这个过程就不赘述了(从第2步开始,再来一遍)

但是在init的时候可能会报如下的错

只需要删除项目目录下的glide.yaml文件即可

再次拉取concurrent_map包

如图所示,拉取成功了!

此时项目目录下多了vendor目录、glide.lock文件和glide.yaml文件

其中,拉取的concurrent_map包就安装在vendor目录下

5、执行测试

看到结果,没得问题!

至此,win10下从0搭建Glide彻底成功!其中博主遇到的小坑都一一点出来,相信大部分人都能够操作成功。

之前我也搭建过go mod,还是mod好用

继续go学习之路。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值