# 前言
源码安装
:标准的软件安装方式,可以定制,表示不会使用标准包安装
:Go
提供了方便的安装包,并支持各种系统,适合快速安装,表示强烈推荐第三方工具安装
:比较推荐多版本管理工具gvm
,不推荐使用软件包管理器yum、apt、homebrew
安装旧版本
# 安装
下载 Go 发行版安装到指定位置 /opt/go
wget https://studygolang.com/dl/golang/go1.15.2.linux-amd64.tar.gz | |
tar -xzf go1.15.2.linux-amd64.tar.gz -C /opt |
修改配置文件
cp /etc/profile /etc/profile.bak | |
vi /etc/profile |
添加环境变量
export GOROOT=/opt/go | |
export PATH=$PATH:$GOROOT/bin |
立即生效
source /etc/profile |
查看版本
go version |
# 测试
新建 hello.go
vi hello.go |
写入以下内容
package main | |
import "fmt" | |
func main() { | |
fmt.Printf("hello, world\n") | |
} |
接着运行
go run hello.go | ||
hello, world |
# 查看环境信息
打印 Go
的环境信息
go env |
GOARCH
:目标处理器架构GOBIN
:编译后文件目录GOHOSTOS
: 目标操作系统GOPATH
:当前工作目录GOROOT
:标准包安装目录
... | |
GO111MODULE="on" | |
GOARCH="amd64" | |
GOBIN="" | |
GOCACHE="/root/.cache/go-build" | |
GOENV="/root/.config/go/env" | |
GOEXE="" | |
GOFLAGS="" | |
GOHOSTARCH="amd64" | |
GOHOSTOS="linux" | |
GOINSECURE="" | |
GOMODCACHE="/root/go/pkg/mod" | |
GONOPROXY="" | |
GONOSUMDB="" | |
GOOS="linux" | |
GOPATH="/root/go" | |
GOPRIVATE="" | |
GOPROXY="https://goproxy.cn,direct" | |
GOROOT="/opt/go" | |
GOSUMDB="sum.golang.org" | |
GOTMPDIR="" | |
... |
# GOPATH
Go 1.8 版本之后,GOPATH 默认在用户目录的 go 文件夹下
设置当前目录为工作目录
export GOPATH=`pwd` | |
source /etc/profile |
# GOBIN
一般默认在 $GOPATH/bin
下
表示生成编译好的二进制文件在这里
# Goproxy
可能会出现以下错误,则需要修改 Go
模块代理
go build | ||
go: github.com/Masterminds/sprig/v3@v3.1.0: Get "https://proxy.golang.org/github.com/%21masterminds/sprig/v3/@v/v3.1.0.mod": dial tcp 172.217.160.81:443: i/o timeout |
Go 1.13 及以上(推荐)
go env -w GO111MODULE=on | |
go env -w GOPROXY=https://goproxy.cn,direct |
macOS 或 Linux
export GO111MODULE=on | |
export GOPROXY=https://goproxy.cn |
# go get
go get
可以借助代码托管来获取源码进行编译安装,通常可以直接使用
获取前,请确保 GOPATH 已经设置
获取后,会存放在 $GOBIN
go get -u github.com/caddyserver/xcaddy/cmd/xcaddy |