Featured image of post Golang 和 Gin 框架的下载安装

Golang 和 Gin 框架的下载安装

关于我在linux中安装Go和go-gin中遇到的问题,以及找出的正确安装方式

Linux 安装Go和配置环境,以及gin的安装

一直忘记一些细节,所以写了这个文章。希望能帮到各位,也希望你们不会遇到一些奇奇怪怪的bug

1. 下载安装Go开发包 和 配置开发环境

1.1 下载Go开发包

首先去Golang官网去复制Linux的下载链接,

1
官网链接: "https://golang.google.cn/dl/"

这里我会放出来我下载的版本 ( 下载链接 )

1
https://golang.google.cn/dl/go1.17.7.linux-amd64.tar.gz

把安装包下载到local目录下:

打开local目录的代码如下

1
[root@VM-0-7-centos ~]# cd /usr/local/

下载代码

1
[root@VM-0-7-centos local]# wget https://golang.google.cn/dl/go1.17.7.linux-amd64.tar.gz

1.2 安装Go开发包

安装Go开发包

1
[root@VM-0-7-centos ~]# tar -zxvf go1.17.7.linux-amd64.tar.gz

安装完成后输入ls查看目录里的文件,会多出来一个go目录

这里不要着急用 go version 查看版本,因为安装的时候不是全局安装,所以自然看不到

1.3 建立工作区

Go的代码必须在工作区内,工作区就是一个目录,包含三个子目录分别是:

目录名称 意思
src 里面的每一个子目录,就是一个包,包里包含源代码
pkg 编译后生成的,包的目标文件
bin 生成的可执行文件,Windows是.exe这样的

我们在/home目录下,建立一个目录(文件夹,名字随意只要不是关键字就好),然后在目录里面建立三个子文件夹,也就是上表中所述的。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// 跳转到home目录
[root@VM-0-7-centos ~]# cd /home
// 创建工作区(目录)
[root@VM-0-7-centos home]# mkdir GoJob
// 进入创建的目录!!!
[root@VM-0-7-centos home]# cd GoJob/
// 创建子目录
[root@VM-0-7-centos ChargeCloud]# mkdir pkg
[root@VM-0-7-centos ChargeCloud]# mkdir src
[root@VM-0-7-centos ChargeCloud]# mkdir bin

输入ls查看创建的文件

1.4 配置PATH环境变量 和 设置GOPATH环境变量

使用vim 编辑器打开/etc/profile,这是linux的环境变量设置

1
[root@VM-0-7-centos ChargeCloud]# vim /etc/profile

打开后按键盘上的[i]键进行编辑 往里加入以下三行代码

1
2
3
export GOROOT=/usr/local/go	##Golang安装目录
export PATH=$GOROOT/bin:$PATH
export GOPATH=/home/GoJob	##Golang项目目录

编辑完成后按键盘上的 ESC 然后输入 :wq 保存退出

如果你在此过程中失误导致无法退出,可以输入:qa强制退出

退出后执行以下命令,使环境变量立即生效(一般情况下要重启生效)

1
[root@VM-0-7-centos ChargeCloud]# source /etc/profile

之后再输入以下代码查看环境变量配置是否正常

1
[root@VM-0-7-centos local]# go env

正常情况下会输出如下述注释一样的代码,表示成功

1
2
3
4
//在我这个方法中,只要你输入以下代码输出版本号就表示成功,因为我们没有全局安装go开发包
[root@VM-0-7-centos local]# go version
//我的设备输出:
// go version go1.17.7 linux/amd64

如果出现错误,请仔细查看你写的命令行代码!!! 如果你是刚接触linux的或者go语言的初学者,建议不要直接修改上述代码,切记,心急吃不了热豆腐~

2. 下载安装并使用go-gin框架

这里我配上官网的开发文档,我写的再好都不比官网简单明了~ Go-gin 开发文档

目前好像对go开发包有要求,请确保你的go开发包是 Go 1.13 以上版本

如何查看我的go开发包版本? 在命令行输入:go version 即可

下载前说明

在安装之前,有必要说明一下,因为国内特殊的网络环境。我们无法直接访问外网,这就表示也无法从外网下载东西,而Go也是国外公司开发的,下载失败是常有的事情。 下载前需要先改用国内镜像源:

1
2
[root@VM-0-7-centos local]# export GO111MODULE=on
[root@VM-0-7-centos local]# export GOPROXY=https://goproxy.cn

有时候国内镜像源也会失效,这时候去百度搜索golang国内镜像源找一个换就行 搜索的时候,记得从搜索设置里把时间段调成最近一个月的,不然白费力气!

还需要注意的是

gin框架安装前需要先创建一个项目!!!!!

使用如下命令快速跳转到src目录中

1
[root@VM-0-7-centos ~]# cd $GOPATH/src

创建一个github.com目录(这个你可以研究一下Go的目录结构)并进入里面

1
2
[root@VM-0-7-centos ~]# mkdir github.com
[root@VM-0-7-centos ~]# cd github.com

再次创建一个项目,我在此命名为:myProject(我的项目)并进入里面

1
2
[root@VM-0-7-centos github.com]# mkdir myProject
[root@VM-0-7-centos github.com]# cd myProject

最关键的一步:进到新创建的项目中(myProject),初始化项目

1
[root@VM-0-7-centos myProject]# go mod init myProject

okay了,现在你可以进行下一步,如果你原本就有项目也可以不执行这一步

下载并安装go-gin

1
[root@VM-0-7-centos local]# go get -u github.com/gin-gonic/gin

此时如果你没有出错的话应该是安装完成了 显示服务器回调值为空就去换一个镜像源,可别犯傻给你的设备弄一个梯子,因为服务器用不到你的梯子。如果你是安装到本地的linux中那当我在放屁就行~

测试安装的go-gin

新建一个main.go的文件,然后用vim编辑器打开

1
2
[root@VM-0-7-centos myProject]# touch main.go
[root@VM-0-7-centos myProject]# vim main.go

往里面写入以下代码:

i 键即可进入编辑模式

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
package main

import "github.com/gin-gonic/gin"

func main() {
	r := gin.Default()
	r.GET("/ping", func(c *gin.Context) {
		c.JSON(200, gin.H{
			"message": "pong",
		})
	})
	r.Run() // 监听并在 0.0.0.0:8080 上启动服务
}

按ESC 再输入:wq 保存并退出编辑器

执行程序

1
[root@VM-0-7-centos myProject]#go run main.go

输出以下代码即表示你已经安装成功了

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
[GIN-debug] [WARNING] Creating an Engine instance with the Logger and Recovery middleware already attached.

[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:	export GIN_MODE=release
 - using code:	gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET    /ping                     --> main.main.func1 (3 handlers)
[GIN-debug] [WARNING] You trusted all proxies, this is NOT safe. We recommend you to set a value.
Please check https://pkg.go.dev/github.com/gin-gonic/gin#readme-don-t-trust-all-proxies for details.
[GIN-debug] Environment variable PORT is undefined. Using port :8080 by default
[GIN-debug] Listening and serving HTTP on :8080

很高兴能帮到你~ 如果过程中因为我的教程出现任何问题 请加QQ:3267362309 联系我哟~

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus