【go系列1】go的安装(mac)

鸿乃江边鸟 · · 502 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

由于之前项目依赖到了k8s,且与k8s的集成比较多,而k8s的源码是go写的,网上搜索了一大堆关于go的信息,
发现很多云原生的项目都是由go写的,所以又来折腾以下go语言,因为之前用brew install mac安装了go,也用了
pkg包安装了go,所以环境够的很乱,至此,特定来清理一下

安装方式

  1. brew install go
  2. 官网下载对应的安装包,直接安装

注意:
第一种方式安装,go可执行文件在/usr/local/bin下,其实这个目录下的go是一个软连接,

➜  bin ll /usr/local/bin |grep go
lrwxr-xr-x  1 ljh   admin      26  9 28 10:46 go -> ../Cellar/go/1.15.2/bin/go
lrwxr-xr-x  1 ljh   admin      29  9 28 10:46 godoc -> ../Cellar/go/1.15.2/bin/godoc
lrwxr-xr-x  1 ljh   admin      29  9 28 10:46 gofmt -> ../Cellar/go/1.15.2/bin/gofmt

我们发现其实这个是链接到了brew install的go的安装目录下了

第二种方式安装,go的可执行文件在/usr/local/go/bin下,这个是go pkg包默认的安装目录

但是无论怎么安装,都得配置GOPATH/GOBIN/PATH,如下, 这三个变量稍后做解释

#go
export GOPATH=/Users/ljh/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOBIN

这个时候,运行go env

GO111MODULE=""
GOARCH="amd64"
GOBIN="/Users/ljh/go/bin"
GOCACHE="/Users/ljh/Library/Caches/go-build"
GOENV="/Users/ljh/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/ljh/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/ljh/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.15.2/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.15.2/libexec/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/1l/mwvs7rf563x72kqcv7l6rb840000gn/T/go-build705548469=/tmp/go-build -gno-record-gcc-switches -fno-common"

发现还有一个GOROOT,下面我们来解释一下

名词解释
GOROOTgo语言安装目录
GOPATH工程项目workspace
GOBIN可执行文件目录,如go install 会生成可执行文件直接放到bin目录下

而GOPATH也会包含三个目录

名词解释
src源文件
pkg编译好的库文件,主要是*.a文件,如go install 把编译的普通的包放到该pkg目录下
bin可执行文件目录,如go install 会生成可执行文件直接放到bin目录下

一般来说,得将go可执行文件目录(${GOBIN})加入PATH中,使GO命令与我们编写的GO应用可以全局调用,
这样我们就完成了golang的安装了


有疑问加站长微信联系(非本文作者)

本文来自:Segmentfault

感谢作者:鸿乃江边鸟

查看原文:【go系列1】go的安装(mac)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

502 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传