Go配置与入门(续)

go-plus在go get的时候总是出现很多问题,且每次启动都会弹出各种提示;本地的Go语言版本过低,需要升级;homebrew运行brew update如同假死。为了解决这些问题,开启了一上午的折腾。

卸载Go

原本电脑上Go的版本低于1.5,我们知道1.5后Go通过自举已经将源码改成Go实现,所以更新Go已经成为迫切的需求。

了解到升级Go的最好方式是卸载了之前版本再安装,所以本人按照官方给予的方式进行卸载,首先删除/usr/local/go,进而再移除/etc/paths.d/go文件,环境变量写在在~/.bash_profile文件中,因为是为了更新所以没有更改这个配置文件的内容。

使用Homebrew

因为之前安装不少软件都是通过Homebrew管理,使用简单方便,适用版本切换,所以原本打算使用它来安装Go,但是在本人的电脑上,Homebrew只能安装1.6版本的Go,这个版本不能解决go get fails with unrecognized import path “context”的问题,brew update假死,于是尝试更换成镜像源,方法如下:

替换源 –>

cd “$(brew –repo)”
git remote set-url origin git://mirrors.ustc.edu.cn/brew.git

替换homebrew-core源 –>

cd “$(brew –repo)/Library/Taps/homebrew/homebrew-core”
git remote set-url origin git://mirrors.ustc.edu.cn/homebrew-core.git

可惜仍然没有作用(换了另外的源也没作用)。

官网下载安装

The Go Programming Language
官网
。安装完成后,可以运行go env查看环境变量,如果之前没有设置环境变量,这里放出本人的配置:

1
2
3
export GOPATH="/Users/yin/go"
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN

go get等价于从远程下载包然后执行go install。

go get失败解决办法

golang.org/x/… 相当于github.com/golang/..

所以在出现unrecognized import path “golang.org/x/tools/…”的问题时,可以相应的在GitHub上找“github.com/golang/tools/…”对应的文件。具体做法:

1
2
3
$ mkdir -p $GOPATH/src/golang.org/x
$ cd $GOPATH/src/golang.org/x
$ git clone https://github.com/golang/tools.git

总之,通过此方法,缺啥补啥。最后,go install执行相关模块,例如:

1
2
3
4
$ go install golang.org/x/tools/cmd/goimports
$ go install golang.org/x/tools/cmd/vet
$ go install golang.org/x/tools/cmd/oracle
$ go install golang.org/x/tools/cmd/godoc

go-plus每次新启动就会检查更新,本人将time-out的时间设为了0。

参考

How to identify which goimports go-plus is running?

无法安装sha3包

使用gopm代替go get 解决go包卡慢的问题,没试过。

GOROOT,GOPATH,GOBIN,project目录