mac上vscode配置go开发环境_快速配置Go 开发环境 - Go语言中文社区

mac上vscode配置go开发环境_快速配置Go 开发环境


如果你刚转Go开发,可能会碰到"go get拉取依赖报错"、"ide拉包超时"这样的问题。
调好一些配置才能流畅的用Go开发,本文对此做了介绍

下载

Go官网被墙了,我从官网下载后上传到了百度云盘,链接如下:

Go 1.14.3 mac 提取码: 5nmn​pan.baidu.com Go 1.14.3 linux 提取码: eg9m​pan.baidu.com

将go 命令放入path

解压下载的压缩包,得到文件夹 gogo命令在go/bin/go。假设go文件夹在你的家目录,

  • 对于mac,运行命令:echo "PATH=$PATH:~/go/bin" >> ~/.bash_profile
  • 对于ubuntu,运行命令:echo "PATH=$PATH:~/go/bin" >> ~/.bash_rc

此时启动一个新shell,运行go version,可看到:

ccae483d03483d7fc064f76646d01a16.png

说明:将go命令所在目录加入path中,从而可在任意位置执行go命令

配置go mod环境变量(以拉到被墙的包)

export GOPROXY=https://goproxy.cn,direct
export GO111MODULE=on
  • 对于mac,将如上代码写入~/.bash_profile,复制粘贴进去即可
  • 对于ubuntu,将如上代码写入~/.bash_rc

启动一个新shell,运行命令go get golang.org/x/tools/cmd/callgraph,相应包安装成功:

4412c301e1e844f49227ffbbc57094e2.png

说明:

  1. GOPROXY=https://goproxy.cn,direct的作用是:使用 "goproxy.cn" 作为拉取依赖的代理,当请求的包不存在时跳过代理(如不设置,默认代理为一个被墙的地址:"proxy.golang.org")
  2. GO111MODULE=on的作用是:GO111MODULE的默认值为auto,即:仅当当前目录下有go.mod文件,才使用GOPROXY下载包。将该值设置为on可确保在任何地方使用proxy拉包,从而不会有拉不到被墙的包的情况

详情参考:干货满满的 Go Modules 和 goproxy.cn

配置GOPATH(以便在命令行直接运行go get安装的命令)

export GOPATH=~/.go
export PATH=$PATH:$GOPATH/bin
  • 对于mac,将代码写入~/.bash_profile,复制粘贴进去即可
  • 对于ubuntu,将代码写入~/.bash_rc

启动一个新shell,执行go get golang.org/x/tools/cmd/callgraph,再执行which callgraph可以看到 callgraph的安装位置

f077cc058c5c82880331384c4520e89c.png

说明:

如上文示例,执行go get golang.org/x/tools/cmd/callgraph后,

  1. callgraph默认安装在$GOPATH/bin/callgraph ,没有配置的情况下运行callgraph显示command not found,需要将$GOPATH/bin加入path
  2. GOPATH日后主要存放go get安装的依赖,最好文件夹命名以"."作为前缀隐藏起来,其默认值为~/go,我习惯更改为~/.go

配置private git仓库

默认私有仓库的依赖(例如公司内部gitlab仓库)是无法用go get拉取到的,假设私有仓库的hostname为http://git.mycompany.net,需要做如下配置:

  1. 运行命令:git config --global url."git@git.mycompany.net:".insteadOf "https://git.mycompany.net/"
  2. 对于mac,运行命令:echo "GOPRIVATE=git.mycompany.net" >> ~/.bash_profile
    对于ubuntu,运行命令:echo "GOPRIVATE=git.mycompany.net" >> ~/.bash_rc

说明:

  1. 配置git,访问http://git.mycompany.net时使用git协议(而不是https),从而获得ssh私钥提供的身份信息。否则会因为缺失身份信息而无法拉取依赖
  2. 配置GOPRIVATE环境变量,标记域名http://git.mycompany.net的包属于私有仓库,不做module的sum校验,否则拉取私有库会失败

详情参考:stackflow相关问题

配置IDE(使IDE能够自动拉取依赖)

大部分Go开发可能会使用Goland。由于习惯,我使用Intellij,配置过程类似。如下:

7fbe5df3bc782377927db48117bb963b.png

f0b80e735c846e5876a795ca5ee3a259.png
版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/weixin_39876595/article/details/110597737
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-16 01:20:40
  • 阅读 ( 2539 )
  • 分类:Go

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢