给产品讲技术 (mac搭建go开发环境)

最近在看一些东西,其中用到了Go语言,之前没有接触过,先在Mac下配置了开发环境。记录一下。

给产品经理讲技术电子书,给产品讲技术

1. 安装brew

1.1 安装brew

brew,又叫是homebrew,是macOS上的一个有ruby开发的软件包管理工具,类似ubuntu上的apt-get,它可以帮你很方便的在Mac上安装或卸载软件。

可以直接在终端中复制以下命令,安装brew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

1.2 切换brew源

安装完成,你就觉得你成功了么?那你可就图样图森破了,因为你基本上是无法更新和使用brew的,至于原因和你为什么不能看『非死不可』是一样的。但是有这么一个东西叫镜像……彻底改变了国人的生活……(扯远了)

国内的一些大学和一些机构对brew做了镜像(当然还有其他的一些镜像),我们可以通过替换brew默认源的方式来加快brew的速度。

目前我在用的是中科大的镜像,清华也有一个镜像。

在这里要说一下:brew主要分为两部分:git repo(位于GitHub)和二进制bottles(位于bintray),这两部分在国内的访问都不是很顺畅。

那如何更换呢:

  1. 替换Homebrew默认源为中科大镜像
# 替换brew.git:
cd "$(brew --repo)"
git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
#替换homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
  1. 既然是镜像就有可能失效或者宕机,在中科大源失效或宕机的时候可以:1.使用其他国内源镜像(git repo的镜像比较多,比如使用清华大学镜像源、coding.net镜像源)2.切换回官方源。
  2. 这里写下切换回官方源的方法:
# 重置brew.git:
cd "$(brew --repo)"
git remote set-url origin https://github.com/Homebrew/brew.git
# 重置homebrew-core.git:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://github.com/Homebrew/homebrew-core.git
  1. 替换Homebrew Bottles源为中科大镜像
  2. 目前中科大镜像包括一些brew仓库:
  3. 对于bash用户:
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile
  1. 对于zsh用户
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc
  • homebrew/homebrew-core
  • homebrew/homebrew-dupes
  • homebrew/homebrew-games
  • homebrew/homebrew-gui
  • homebrew/homebrew-python
  • homebrew/homebrew-php
  • homebrew/homebrew-science
  • homebrew/homebrew-versions
  • homebrew/homebrew-x11

1.3 更新brew

修改完源之后,你就需要更新下brew了

brew update

回车,即可获得最新的源上。

2. 安装Go语言环境

好,那我们就开始用brew来安装Go语言了。

brew install go

最后显示100%,并提示:

==> Pouring go-1.8.3.sierra.bottle.tar.gz
==> Using the sandbox
==> Caveats
A valid GOPATH is required to use the `go get` command.
If $GOPATH is not specified, $HOME/go will be used by default:
 https://golang.org/doc/code.html#GOPATH
You may wish to add the GOROOT-based install location to your PATH:
 export PATH=$PATH:/usr/local/opt/go/libexec/bin
==> Summary
 /usr/local/Cellar/go/1.8.3: 7,035 files, 282.0MB

这时候就代表安装成功了,还需要完成写配置(Caveats已经提醒了)

你可以先使用

go version

看下,是否出现类似这样的显示:

go version go1.8.3 darwin/amd64

如果成功显示就代表安装成功了。(意思是本机安装的go语言版本是1.8.3 macos/64位)

3. 配置Go语言环境

  1. 根据提示,可以看出设置GOPATH和GOROOT的环境变量,以及设置PATH
  2. 其中,GOPATH如果未指定,默认情况地址是『$HOME/go』,也就是你的『$HOME』变量指向的地址下的go文件夹,『$HOME』变量一般是:/Users/用户名。

3.1 查看Go语言环境变量

查看go语言的环境变量设置命令:

go env
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/Sylvain/go"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.8.3/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.8.3/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/3b/fytpmrss5qx6x_ch0dxkxzh00000gn/T/go-build782221510=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"

3.2 修改环境变量

上边你可以看到GOPATH和GOROOT都已经有默认值了,如果需要修改的话,可以使用修改bash和zsh里的配置(有人说:二逼青年用 bash ,普通青年用 zsh ,文艺青年用 fish,我用zsh,看来我是普通青年,有空用fish装下文艺青年。)

因为我用的是zsh,所以我就说下zsh下怎么修改:

vim ~/.zshrc

将你所要改的配置填写到文件里,比如我对GOBIN做了设置:

export GOPATH=$HOME/go

export GOBIN=$GOPATH/bin

export PATH=$PATH:$GOBIN

然后『:wq』保存退出。使修改立刻生效:

source ~/.zshrc

最后在使用『go env』来确认下。这样环境变量的配置就完成了。

4. 测试运行

package main
import "fmt"
func main() {
	fmt.Println("Hello, World!\n 张小璋")
}

将这个文件保存成test.go,输入命令go run test.go来测试运行下。恩,我又学会了一门语言…………的『Hello,world』>_>

最后的成果:

给产品经理讲技术电子书,给产品讲技术

## 关于作者

张小璋,公众号:张小璋的碎碎念(ID:SylvainZhang)。野蛮生长的产品经理,专注于互联网金融领域。