go 安装gin(使用git clone)

安装go包最快捷的方法是go get,一步到位,但是需要翻墙,取而代之的方法是用git clone直接把需要的包从github拉下来,也很慢,但至少是可行的~

另外,不是吹牛,用本文的方法安装一次gin,以后想安装其他的go包,相信你也就都可以自己搞定了,嘿嘿

环境

因为使用的是git,所以这种安装方法使用于所有系统(linux,mac,windows),我是在ubuntu上装的。

在安装gin之前我的go环境是安装好了的,如果还没装可以参考这篇ubuntu1604安装go1.13

安装gin需要很多依赖包,但是不用担心,缺少的包在安装过程中会提示的,到时候一个一个装就好了,下面记录一下我的安装全过程。

安装

首先拉取gin包,注意git clone的路径,不能错,如果你以前没有装过github上的包,是不会有/github.com这个文件夹的,需要自己先创建一个

cd $GOPATH/src/github.com/
git clone https://github.com/gin-gonic/gin.git
go install github.com/gin-gonic/gin

执行完最后一步,也就是安装,会报很多错,如下图:

可以看到,错误全都是因为缺少必要的包,所以不必担心,一个一个装就可以了。也许你缺的包和我的不一样,也没有关系,我们完全可以根据提示的包名,来确定git仓库的url

首先看第一个缺少的包github.com/golang/protobuf/proto,这个对应的git clone url就是:

cd $GOPATH/src/github.com/golang/
git clone  https://github.com/golang/protobuf.git

这里不难看出一点规律了,如果提示缺少的包是“path/package”,那么你的获取方式就是下面这样,注意,path不一定存在,如果不存在,你就手动创建一下~

cd $GOPATH/src/path
git clone  https://path/package.git

但这还不够,你可能会问,为什么缺的是protobuf里的proto,但是要把protobuf拉下来,这是因为proto并不是一个完整的项目,它是protobuf的一部分,如果你直接拉proto,像下面这样:

git clone  https://github.com/golang/protobuf/proto.git

那么结果会是这样的:

正如我所说,proto并不是一个完整的项目,它只是protobuf仓库的一部分,所以你要拉的是protobuf。

但实际情况是,我们也不知道缺的包到底是一个完整的项目,还是其中的一部分,没关系,我们可以尝试,先假设它就是一个完整的包,如果git clone提示不存在,那么就去安装它的上一级,这样试,最后总可以装上~

欧克,装完protobuf,我们再试着go install一下:

go install github.com/gin-gonic/gin

这时的报错是这样的:

虽然还是缺很多包,但是没有再提示我们缺少protobuf了,说明我们装的protobuf包生效了,接下来就是按照上面的方法,继续安装其他缺少的包了~ 

还想提示一点就是,这个方法并不是只适用于github上的包,我们看上图提示的最后一个缺少的包,是gopkg.in/yaml.v2,并不是github里的,但是没关系,方法完全一样~

cd $GOPATH/src/gopkg.in
git clone  https://gopkg.in/yaml.v2.git

欧克,到这里,所有缺少的包就装完了,再次执行go install,看看效果:

嗯,没有再报任何的错了,到这里gin就算安装完成了~

验证

安装完之后,可以用一个简单的小程序验证一下,在$GOPATH/src路径下,创建testGin.go,写入如下代码:

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() // listen and serve on 0.0.0.0:8080
}

然后run起来:

前面有一些warning,无所谓,重点是最后一行,程序已经在监听8080端口,说明一个web服务已经起来,接下来,在本机上,调用我们测试demo里写的ping接口:

curl 127.0.0.1:8080/ping

 你会发现,收到了你程序里写好的回复~

欧克,到这里,gin框架的验证就完成了,可以发现,真的非常简单,接下来你就可以继续去丰富你的接口,使用gin框架写出一个功能丰富的web后端程序啦~ 

发布了39 篇原创文章 · 获赞 25 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/u013536232/article/details/104476356