golang安装

一、安装包下载

本节介绍golang开发环境的搭建。

1.1 Linux

1.1.1 tar

  1. 下载golang预编译包:wget https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz;

  2. 解压到/usr/local目录下,需要root权限:tar -C /usr/local -xzf go1.14.2.linux-amd64.tar.gz;

  3. golang加入PATHexport PATH=$PATH:/usr/local/go/bin

1.1.2 snapd

snapdLinux的包管理器,目前一般16年以后发布的Linux发行版都内置了snapd,如果使用的发行版较老,参考snapd简介进行安装。使用snapd安装golang十分方便,只需要一行命令:sudo snap install go --classic,即可完成golang的所有配置。

1.2 MacOS

1.2.1 pkg

下载官网提供的pkg包并安装。

1.2.2 homebrew

使用brew install go安装,如果brew访问较慢,参考homebrew安装

二、环境变量配置

2.1 Linux

首先在命令行键入go env,得到类似输出:

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/cheung/.cache/go-build"
GOENV="/home/cheung/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/cheung/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/media/cheung/code/vuls/go.mod"
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 -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build222371123=/tmp/go-build -gno-record-gcc-switches"

找到$GOPATH$GOROOT的定义,并打开对应终端的配置文件配置环境变量,具体参考终端添加环境变量。进入$GOPATH使用tree -L 2观察$GOPATH的文件层级:

.
├── bin
│   ├── autobahn
│   ├── chat
│   ├── command
│   ├── dlv
│   ├── filewatch
│   ├── fillstruct
│   ├── gocode
│   ├── gocode-gomod
│   ├── go-cve-dictionary
│   ├── godef
│   ├── godoctor
│   ├── go-exploitdb
│   ├── go-find-references
│   ├── goformat
│   ├── goimports
│   ├── golint
│   ├── gomodifytags
│   ├── go-outline
│   ├── gopkgs
│   ├── goplay
│   ├── gopls
│   ├── gorename
│   ├── goreturns
│   ├── gost
│   ├── go-symbols
│   ├── gotests
│   ├── goval-dictionary
│   ├── govendor
│   ├── guru
│   ├── impl
│   ├── protoc-gen-go
│   ├── toml-test-decoder
│   ├── toml-test-encoder
│   ├── tomlv
│   ├── vuls
│   └── xgo
├── pkg
│   ├── linux_amd64
│   ├── mod
│   └── sumdb
└── src
    ├── github.com
    ├── golang.org
    ├── google.golang.org
    ├── gopkg.in
    ├── go_test_proj
    ├── go.uber.org
    ├── silverbolt -> /home/cheung/Silverbolt/engine/
    ├── sourcegraph.com
    ├── test_go
    └── winterdrache.de

可以看到bin目录下有三个文件夹,其中bin文件夹用于存储go安装的可执行文件,src文件夹存储go get xxx下载的golang第三方库,pkg文件夹内容较多,mod文件夹中存储go mod download下载的第三方库,参考go mod

GOROOT就是刚才解压的go的路径,该变量设置后ide(例如GoLand)可以读取到本机安装的go,并使用他进行编译。

2.2 MacOS

仿照Linux配置环境变量。

Last updated

Was this helpful?