社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
如果你刚转Go开发,可能会碰到"go get拉取依赖报错"、"ide拉包超时"这样的问题。
调好一些配置才能流畅的用Go开发,本文对此做了介绍
Go官网被墙了,我从官网下载后上传到了百度云盘,链接如下:
Go 1.14.3 mac 提取码: 5nmnpan.baidu.com Go 1.14.3 linux 提取码: eg9mpan.baidu.com解压下载的压缩包,得到文件夹 go
,go
命令在go/bin/go
。假设go文件夹在你的家目录,
echo "PATH=$PATH:~/go/bin" >> ~/.bash_profile
echo "PATH=$PATH:~/go/bin" >> ~/.bash_rc
此时启动一个新shell,运行go version
,可看到:
说明:将go命令所在目录加入path中,从而可在任意位置执行go命令
export GOPROXY=https://goproxy.cn,direct
export GO111MODULE=on
启动一个新shell,运行命令go get golang.org/x/tools/cmd/callgraph
,相应包安装成功:
说明:
GOPROXY=https://goproxy.cn,direct
的作用是:使用 "goproxy.cn" 作为拉取依赖的代理,当请求的包不存在时跳过代理(如不设置,默认代理为一个被墙的地址:"proxy.golang.org")GO111MODULE=on
的作用是:GO111MODULE的默认值为auto,即:仅当当前目录下有go.mod文件,才使用GOPROXY下载包。将该值设置为on可确保在任何地方使用proxy拉包,从而不会有拉不到被墙的包的情况详情参考:干货满满的 Go Modules 和 goproxy.cn
export GOPATH=~/.go
export PATH=$PATH:$GOPATH/bin
启动一个新shell,执行go get golang.org/x/tools/cmd/callgraph
,再执行which callgraph可以看到 callgraph的安装位置
说明:
如上文示例,执行go get golang.org/x/tools/cmd/callgraph
后,
callgraph
显示command not found,需要将$GOPATH/bin加入path默认私有仓库的依赖(例如公司内部gitlab仓库)是无法用go get拉取到的,假设私有仓库的hostname为http://git.mycompany.net,需要做如下配置:
git config --global url."git@git.mycompany.net:".insteadOf "https://git.mycompany.net/"
echo "GOPRIVATE=git.mycompany.net" >> ~/.bash_profile
echo "GOPRIVATE=git.mycompany.net" >> ~/.bash_rc
说明:
详情参考:stackflow相关问题
大部分Go开发可能会使用Goland
。由于习惯,我使用Intellij
,配置过程类似。如下:
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!