Go语言环境搭建(Windows+Linux)

Posted Baret-H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go语言环境搭建(Windows+Linux)相关的知识,希望对你有一定的参考价值。

在这里插入图片描述


1. Windows安装配置

1️⃣ 下载SDK

SDK 的全称是Software Development Kit(软件开发工具包) ,包含了对应开发语言的工具包

image-20210405003749354

Windows 下:根据自己系统是 32 位还是 64 位进行下载

  • 32 位系统:windows-386.zip
  • 64 位系统:windows-amd64.zip

下载后解压得到以下目录

image-20210405004835586

目录中各个文件夹的含义如下表所示

目录名说明
api每个版本的 api 变更差异
bingo 源码包编译出的编译器(go)、文档工具(godoc)、格式化工具(gofmt)
doc英文版的 Go 文档
lib引用的一些库文件
misc杂项用途的文件,例如 android 平台的编译、git 的提交钩子等
pkgWindows 平台编译好的中间文件
src标准库的源码
test测试用例

2️⃣ 配置环境变量

环境变量说明
GOROOT指定SDK的安装路径 D:\\Go Environment\\go
Path添加SDK的/bin目录 D:\\Go Environment\\go\\bin
GOPATH工作目录,将来我们的go项目的工作路径

系统变量中添加GOROOT对应SDK的安装路径

image-20210405010738034

然后添加GOPATH对应工作目录

image-20210405011035657

最后在Path中添加SDK的/bin目录

image-20210405010842724

最后cmd中输入go version/go env看是否配置成功,出现如下结果则成功

C:\\Users\\zsr204>go version
go version go1.16.3 windows/amd64

C:\\Users\\zsr204>go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\\Users\\zsr204\\AppData\\Local\\go-build
set GOENV=C:\\Users\\zsr204\\AppData\\Roaming\\go\\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=D:\\学习\\Go project\\pkg\\mod
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=D:\\学习\\Go project
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=D:\\Go Environment\\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=D:\\Go Environment\\go\\pkg\\tool\\windows_amd64
set GOVCS=
set GOVERSION=go1.16.3
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=NUL
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\\Users\\zsr204\\AppData\\Local\\Temp\\go-build3653787397=/tmp/go-build -gno-record-gcc-switches

3️⃣ 配置go代理

通过 go get 命令下载各种依赖时,经常需要访问 github/google 等网站。我们可以配置代理后,快速稳定的下载访问,推荐 GOPROXY.IO - 一个全球代理 为 Go 模块而生

goproxy.io 是全球最早的 Go modules 镜像代理服务之一, 采用 CDN 加速服务为开发者提供依赖下载, 该服务由一批热爱开源, 热爱 Go 语言的年轻人开发维护。从 Go 1.11 开始 Go 语言开始支持 Go modules 来解决大家长久以来诟病的依赖管理问题,目前 Go modules 功能已经符合生产环境标准。

image-20210527133434546

配置方式:

1. 右键 我的电脑 -> 属性 -> 高级系统设置 -> 环境变量
2. 在 “[你的用户名]的用户变量” 中点击 ”新建“ 按钮
3. 在 “变量名” 输入框并新增 “GOPROXY”
4. 在对应的 “变量值” 输入框中新增 “https://goproxy.io,direct”
5. 最后点击 “确定” 按钮保存设置
image-20210527133728882

再次用go env命令即可看到配置的代理

image-20210527133953613

2. Linux安装配置

1️⃣ 下载SDK

这里的环境为腾讯云CentOS7服务器,推荐到Go语言中文网下载

  • 国外官方:https://golang.org/dl/
  • 中文镜像:https://golang.google.cn/dl/
  • 中文网站:https://studygolang.com/dl(推荐)

image-20210525113741523

下载后通过xftp上传到云服务器

image-20210525114339780

然后解压到usr/local目录下

tar -zxvf go1.16.4.linux-amd64.tar.gz -C /usr/local 

2️⃣ 配置环境变量

环境变量说明
GOROOT指定SDK的安装路径 export GOROOT=/usr/local/bin
GOPATH工作目录,将来我们的go项目的工作路径 export GOPATH=$HOME/go
PATH添加SDK的/bin目录到系统环境变量 export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

然后修改根目录下的bashrc文件

[root@zsr ~]# vim ~/.bashrc 
[root@zsr ~]# cat ~/.bashrc 
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
	. /etc/bashrc
fi

# 设置go语言的路径
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

然后重新加载该文件

[root@zsr ~]# source ~/.bashrc

到此环境变量配置完毕,然后输入go version/go env指令查看是否安装成功

[root@zsr go]# go version
go version go1.16.4 linux/amd64
[root@zsr go]# go env
GO111MODULE=""
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://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.16.4"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
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-build2887101268=/tmp/go-build -gno-record-gcc-switches"

3️⃣ 配置go代理

通过 go get 命令下载各种依赖时,经常需要访问 github/google 等网站。我们可以配置代理后,快速稳定的下载访问,推荐 GOPROXY.IO - 一个全球代理 为 Go 模块而生

goproxy.io 是全球最早的 Go modules 镜像代理服务之一, 采用 CDN 加速服务为开发者提供依赖下载, 该服务由一批热爱开源, 热爱 Go 语言的年轻人开发维护。从 Go 1.11 开始 Go 语言开始支持 Go modules 来解决大家长久以来诟病的依赖管理问题,目前 Go modules 功能已经符合生产环境标准。

image-20210527133434546

配置方式:

# 设置你的 bash 环境变量
echo "export GOPROXY=https://goproxy.io,direct" >> ~/.bashrc && source ~/.bashrc

再次用go env命令即可看到配置的代理

image-20210527134444629

以上是关于Go语言环境搭建(Windows+Linux)的主要内容,如果未能解决你的问题,请参考以下文章

Go语言环境搭建

从零开始搭建Go语言开发环境

Windows系统中搭建Go语言开发环境详解

从零开始搭建Go语言开发环境

从零开始搭建Go语言开发环境

Go 语言环境搭建及测试构建