golang私有包导入
- github上的公有包导入比较常见,私有包导入方面的教程不多,这里记录一下自己遇到的问题
- 没钱买Mac,开发环境是Windows
设置gitlab的public key
配置本地的git,username,email等。根据自己实际情况调整下边的参数。注意!操作都是在git bash上边!除非特殊说明
$ git config --global user.name "your name" $ git config --global user.email "your email@address" //下边这条的含义是用ssh的时候用git而不是https $ git config --global url."git@address:".insteadOf "https://address.com"
- 然后就是在gitlab上边添加自己生成的public key。操作步骤。gitlab的文档说得很清楚。
设置代理去墙外边取包
- 正常来说,添加key之后,就可以把gitlab的项目拉到本地。但是golang项目比较特殊,我们希望用go get命令,把依赖的包也取过来。
这就意味着,需要在git bash中设置代理。注意,千万不要像我这么傻,用CMD的set 去设置http_proxy。
$ export ALL_PROXY="socks5://127.0.0.1:1080"
- 直接像上边,按照Linux系统的习惯去设置代理。我用的是ssr。
遇到的一个报错
- 上边的步骤基本完整,最后go get自己的私有包就行。但是,因为我的项目是用module做依赖管理的,所以还需要在go.mod那级目录下执行go mod tidy。
- 报错信息:go modules disabled inside gopath/src by go111module=auto
我的解决办法。从报错信息来看就是变量go111module的值没设置对。改一下就OK了。
$ export GO111MODULE=on