因工作内网不能连接外网,本人在内网服务器布置了gitblit,把一些用到的开源项目git仓库导入到内网使用,在module模式下,github.com的包使用git url的insteadOf进行替换:
```
[url "http://用户名@内网IP/~用户名/"]
insteadOf =github.com/用户名/
```
go get能够正常工作。
但是golang.org/x之类的包,由于不是默认使用git来下载,需要向地址:https://包名?go-get=1发送请求,来确认VCS和仓库地址,造成无法正常使用。
也尝试设置```GOVCS=*:git```,依然无效。
请问是否有办法设置go get始终使用git来下载?这样我可以使用git url的insteadOf进行替换为内网地址,或者有其他更好的解决办法?
insteadOf是git的,在进入到某个vcs工具之前,go需要确定使用哪个vcs,在源码\src\cmd\go\internal\vcs\vcs.go(var vcsPaths = []*vcsPath)中有具体的定义,除此之外的需要发送https://包名?go-get=1请求来获取使用哪个VCS。
目前我的做法是直接需改源码,重新编译go.exe!
#11
更多评论