美文网首页go
【go系列1】go的安装(mac)

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

作者: 鸿乃江边鸟 | 来源:发表于2020-11-11 17:24 被阅读0次

    由于之前项目依赖到了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,下面我们来解释一下

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

    而GOPATH也会包含三个目录

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

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

    相关文章

      网友评论

        本文标题:【go系列1】go的安装(mac)

        本文链接:https://www.haomeiwen.com/subject/izfybktx.html