网上目前还找不到完整的mac下golang环境配置支持,本人配置成功,现在整理分享出来。
mac最好装下xcode,好像有依赖关系
安装Homebrew
打开终端窗口, 粘贴脚本执行
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装go语言最新版,去官网 https://golang.org/dl/ 下载,需要挂科学上网 推荐一个 58jiasu.com 现在有活动 包月2块钱
安装vscode,百度一下 打开官网安装就行了 https://code.visualstudio.com/download
装好后打开,左侧竖着排列一排图标,点第五个图标
打开扩展功能,搜索go 这里也要挂科学上网
安装 lukehoban作者的Go插件 我安装的时候是排在第二
现在开始配置mac的环境变量
打开终端 建立工作目录
cd $HOME
mkdir work
加入环境变量
vim ~/.bash_profile
加入
export GOPATH=$HOME/work
export PATH=$PATH:$GOPATH/bin
保存退出 :wq
source ~/.bash_profile
立刻生效
接着安装IDE支持
go get -u -v github.com/nsf/gocode
go get -u -v github.com/rogpeppe/godef
go get -u -v github.com/golang/lint/golint
改用gometalinter 安装方法在最下面的更新里
go get -u -v github.com/lukehoban/go-find-references
go get -u -v github.com/lukehoban/go-outline
go get -u -v sourcegraph.com/sqs/goreturns
go get -u -v golang.org/x/tools/cmd/gorename
go get -u -v github.com/tpng/gopkgs
go get -u -v github.com/newhook/go-symbols
这些都在终端输入执行
这个时候还不能debug
安装debug支持
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
我用的最新版安装后有问题,需要如下处理
brew install go-delve/delve/delve
然后再来一遍
go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv
现在差不多就完成了
最后我们启动调试插件
严格按照如下步骤操作
1> 打开"钥匙串访问"
2> 打开菜单 钥匙串访问/证书助理/创建证书...
3> 名称: dlv-cert 身份类型: 自签名证书 证书类型: 代码签名 并 选择"让我覆盖这些默认值"
4> 单击"继续", 有效期(天数): 365 这里你可以自己修改, 我改为3650
5> 一路继续下去, 直到看到"指定用于该证书的位置" 钥匙串 选择 "系统" 并单击"创建"按钮
6> 重启系统之后, 再打开"钥匙串访问", 选择"系统", 就会看到创建好的"dlv-cert"证书.
7> 右键"dlv-cert"证书, 选择"显示简介"->"信任"->"代码签名" 修改为: 始终信任
8> 打开终端然后cd命令进入之前你安装好的"GOPATH/src目录下的dlv源码文件目录:github.com/derekparker/delve"
9> 输入如下命令: GO15VENDOREXPERIMENT=1 CERT=dlv-cert make install 这样就可以重新编译出一个带有代码签名的dlv执行程序
重启电脑,可以愉快的玩耍了
最后还是要提醒 需要全程科学上网 推荐 58jiasu.com 现在有活动很便宜 只要2块钱包月
11月27 更新:
vs code提示安装gometalinter
$ go get github.com/alecthomas/gometalinter
$ gometalinter --install --update
这个工具基本上集成了目前市场上所有的检测工具,然后可以并发的帮你静态分析你的代码:
-
go vet — Reports potential errors that otherwise compile.
-
go vet — shadow — Reports variables that may have been unintentionally shadowed.
-
gotype — Syntactic and semantic analysis similar to the Go compiler.
-
deadcode — Finds unused code.
-
gocyclo — Computes the cyclomatic complexity of functions.
-
golint — Google’s (mostly stylistic) linter.
-
defercheck — Checks for duplicate defer calls.
-
varcheck — Find unused global variables and constants.
-
structcheck — Find unused struct fields.
-
errcheck — Check that error return values are used.
-
dupl — Reports potentially duplicated code.
这些是目前集成的工具。使用方法请自行百度