由于 Homebrew 的存在,在 Mac 上下载什么都很方便。能够运行如下的命令安装 Homebrew :git
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
复制代码
关于 Homebrew 的更多信息,你能够拜访他们的网站:brew.sh/github
安装完成以后就能够使用如下命令来安装 Go 语言:golang
$ brew install go
复制代码
安装完成以后,你能够跑如下命令来测试一下:编程
$ go version
复制代码
Go 语言要求你在系统的环境变量中给提供一个$GOPATH
变量,顾名思义,就是给 Go 语言提供一个让其操做的文件夹位置。ruby
咱们能够经过如下两种方式来设置环境变量bash
直接把变量设置在 ~/.bash_profile
文件中,具体的操做以下:网络
$ sudo nano ~/.bash_profile
复制代码
运行以上的命令会在终端打开一个 nano 编辑器来编辑 ~/.bash_profile
文件。你能够在 .bash_profile
文件中加入一行:export GOPATH=$HOME/Developer/go
app
$HOME/Developer/go
是我本身喜欢的 GOPATH 文件夹位置,你能够任意设置一个文件夹位置。 输入完成以后,按 ctrl + o
以后再按 enter
进行保存。最后按 ctrl + x
退出 nano 编辑器。curl
若是每次经过 sudo nano ~/.bash_profile
来修改环境变量实在太麻烦,并且经过其它编辑器,好比说 vscode 来修改 .bash_profile 每次也须要密码受权,也是很麻烦。那么有没有比较简洁的办法呢?编辑器
咱们能够另外建立一个文件来存放环境变量。好比说咱们建立一个文件 $HOME/Developer/index.sh
,这时咱们能够把原来export GOPATH=$HOME/Developer/go
输入到这个文件。 这时,咱们经过sudo nano ~/.bash_profile
命令把原来的.bash_profile
文件里的export GOPATH=$HOME/Developer/go
删除掉,而且添加上这一行source $HOME/Developer/index.sh
,而后保存退出。 这样之后,你就能够直接修改 $HOME/Developer/index.sh
来设置环境变量,而不是去修改 ~/.bash_profile
文件了。 这么作的原理在于 source
命令会去引入~/Developer/index.sh
里面的内容。
当你配置完了 $GOPATH
,你还要配置一下 $PATH
。这是由于,有些时候咱们在终端要直接运行 Golang 的一些二进制文件,若是你没有把存放 Golang 二进制的文件夹包括在 $PATH
里面的话,终端是找不到它们的。 存放 Golang 二进制文件的文件夹通常有两个。第一个是 $GOPATH/bin
, 第二个是$GOROOT/bin
。你可能会疑惑这里的 $GOROOT
是什么。其实就是存放 Golang 源代码的位置,里面存放着一些 Golang 自带的库文件。在 Mac 上咱们是不须要设置 $GOROOT
的, 可是在 Windows 上就须要。为了方便理解,咱们能够在这里也设置一下。若是你使用 Homebrew 安装 Golang 的话,$GOROOT
会被映射到 /usr/local/opt/go/libexec
。那么用咱们上面设置 $GOPATH
的第二种方法的话,在 index.sh
文件上添加上这一行就能够设置 GOROOT: export GOROOT=/usr/local/opt/go/libexec
。 同时咱们也能够在 index.sh
上设置 $PATH
。为了简化说明,我直接给你展现完整的 index.sh
是这样的:
export $GOPATH=$HOME/Developer/go
export $GOROOT=/usr/local/opt/go/libexec
export PATH=$PATH:$GOPATH/bin:$GOROOT/bin
复制代码
我热爱 vscode 的缘由第一在于它的轻量,第二在于它的全能性。它真的很轻量,反正我在个人 macbook pro 2013 (8g i7) 上面使用它没有遇到过卡顿,若是使用 goland,便会常常卡顿。固然若是你的电脑配置逆天(好比说 iMac Pro),这点你固然能够忽略不计。全面性在于,它拥有很强大的社区,里面有功能丰富的插件,你能够在上面编程几乎任何语言。话很少说,让咱们来看看如何在上面配置 Go 语言环境。
Vscode 上下载插件很方面,在最左侧的竖排导航栏选择 Extensions
。 而后在搜索框搜索 go 的第一个插件就是官方(微软)的 Go 语言插件,下载便可。
你有兴趣的话,能够浏览官方 Golang 插件的网址:github.com/microsoft/v…
当你下载这个插件以后,每当你打开一个golang的文件(.go)的时候,它就会提醒安装一些依赖包(其实这些依赖包就是用 Golang 写的一些包)。 你能够点击提醒框右侧的 install all
选项来安装全部安装包。 可是当运行一段时间以后,你会发现好多包都安装失败了:
Installing github.com/mdempsky/gocode FAILED
Installing github.com/ramya-rao-a/go-outline FAILED
Installing github.com/acroca/go-symbols FAILED
Installing golang.org/x/tools/cmd/guru FAILED
Installing golang.org/x/tools/cmd/gorename FAILED
Installing github.com/stamblerre/gocode FAILED
Installing github.com/ianthehat/godef FAILED
Installing github.com/sqs/goreturns FAILED
Installing golang.org/x/lint/golint FAILED
9 tools failed to install.
复制代码
缘由是由于一些众所周知的缘由,在国内没法访问 golang.org
,天然也就没法下载在其下的资源。这时咱们能够设置 $GOPROXY
来解决这个问题。设置$GOPROXY
其实就是设置一个代理帮你去访问和安装这些包,而不是经过你本身的网络。我我的使用的代理是这个:export GOPROXY="https://athens.azurefd.net"
。一样的,你能够把这行代码写进index.sh
文件,那么更新后的index.sh
文件就是这样的:
export $GOPATH=$HOME/Developer/go
export $GOROOT=/usr/local/opt/go/libexec
export PATH=$PATH:$GOPATH/bin:$GOROOT/bin
export GOPROXY="https://athens.azurefd.net"
复制代码
如下是现有的其它可用的代理:
export GOPROXY="https://goproxy.io"
export GOPROXY="https://goproxyus.herokuapp.com"
export GOPROXY="https://goproxy.cn"
# 最新官方的
export GOPROXY="https://proxy.golang.org"
复制代码
这时,你能够经过再打开一个 Golang 文件弹出提醒框的方式来安装这些包。或者直接经过在 vscode 上按 cmd+shift+p
弹出 vscode 的命令框,而后输入 >Go: Install/Update Tools
来安装这些依赖包了。
其实 vscode 是经过 go get
命令来安装这些安装包的,go get
命令会把源代码安装到 $GOPATH/src
, 同时把相应包的二进制文件安装到 $GOPATH/bin
。 当你安装完成以后,你去到 $GOPATH/bin
会发现多了不少二进制文件。而官方 Golang 插件就是经过自动找到并使用这些二进制文件来帮你优化编程体验的。好比 gocode
是帮忙自动补全代码的。
自此,咱们关于 Golang 的环境配置(在 Mac、vscode以及国内)就完成了。