golang开发环境配置

[Toc]

安装go语言开发环境


说明:本文大致参考潘老师博客:安装 go 语言开发环境

根据我自己的配置过程遇到坑的地方,会在关键部分稍作补充

本文主要用于记录一下用到的命令及其相关知识、含义


1. 在CentOs下安装VSCode编辑器(需使用桌面版CentOs)

1.1 两种Linux系列

要注意市面上流行的Linux系统有两大类,分别是Debian系列系统和RedHat系列系统,不同系列的Linux系统安装指令是不同的

  • RedHat系列:RHEL,Fedora,CentOs
## install key and repository
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'

## update
yum check-update
sudo yum install code
  • Debian系列:Debian,Ubuntu
## download and install package
sudo dpkg -i .deb
sudo apt-get install -f # Install dependencies

## install key and repository
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo install -o root -g root -m 644 microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" > /etc/apt/sources.list.d/vscode.list'

## update
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install code # or code-insiders

1.2 相关命令

  • rpm:(全称 Red-Hat Package Manager)是Red-Hat系列系统的包管理工具,主要功能是安装、卸载、升级和管理相关包。
  • sh:是shell命令语言解释器,执行命令从标准输入读取或从一个文件中读取。通过用户输入命令,和内核进行沟通。
  • yum:(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
  • dpkg:(全称 Debian Packager)是Debian专门开发的套件管理系统,方便软件的安装、更新及移除。所有源自Debian的Linux发行版都使用dpkg,例如Ubuntu、Knoppix等。
  • apt-get:(apt全称Advanced Package Tool)适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。

1.3 启动vscode确认可以正常使用

在命令行输入code会打开VSCode,会提示更新git,可以不管

2. 安装配置golang

2.1 安装

## 使用包管理工具安装
sudo yum install golang
## 确认安装成功
go version

2.2 配置环境变量

## 创建工作空间
mkdir $HOME/gowork
## 配置当前用户的环境变量(全局的话就找etc下的profile)
vim ~/.profile                  # 打开.profile,没有的话会新建
export GOPATH=$HOME/gowork      # 新建环境变量
export PATH=$PATH:$GOPATH/bin
source $HOME/.profile           # 执行新配置
## 检查环境配置情况
go env

2.3 helloworld测试

详见实验报告: go编程实践

3. 安装必要的工具和插件

3.1 安装git客户端

sudo yum install git

关于git的使用,可以参考我的另一篇博客

3.2 安装go的一些工具包(注意的地方)

可以说本次golang环境配置最大的疑惑就是这个地方了,其他部分的安装似乎都进行得很顺利,除了解释一下命令也就没有什么可以特别说明的了。

问题描述:打开VSCode提示安装相关go的工具包,点击install后却安装失败。

原因:部分工具位于golang.org上,目前这个网站国内上不了。

绕开代理的解决方案:从github.com下载对应的包然后迁移到golang.org目录下假装是从golang.org上下载下来的(实验报告中关于工作空间的叙述有解释两个文件夹的意义),按照老师给出的操作即可。

# 创建文件夹
mkdir $GOPATH/src/golang.org/x/
# 下载源码
go get -d github.com/golang/tools
# copy 
cp $GOPATH/src/github.com/golang/tools $GOPATH/src/golang.org/x/ -rf

然而——会出现以下问题,虽然都不是什么大问题,但还是说一下


衍生问题1:从github.com上go get的时候报错,can’t load package之类的

解决方案:不用管,看一下目标目录github.com/golang会发现其实要下的东西都下好了,直接复制到golang.org下即可

衍生问题2:再次打开VSCode,会再次提醒安装,这个时候直接点安装就可以了,这会就可以正常安装了,可以看到以下界面,但是最后一个工具包golint却安装失败了。

原因:认真看一下报错会发现又是因为golang.org连不上,再回过头看了一下刚刚在github.com上下载的tools,原来里面没有golint,所以golint要另外找个github.com的镜像单独下。

解决方案:,同样的操作,也是将镜像下载到github.com/golang目录下,然后移到golang.org/x下面。再次打开VSCode,会自动安装,最后安装成功。之后再重启VSCode都不会再提示安装go工具包了。

3.3 安装go tour

## 安装
go get github.com/Go-zh/tour/gotour

## 启动
gotour

效果: