go 安装gin(使用git clone)

2 篇文章 0 订阅

安装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后端程序啦~ 

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用git clone命令时,可以将远程仓库中的代码拷贝到本地。首先,在开源项目中点击fork按钮,稍等一会儿,该项目便会拷贝一份到你的repositories中。然后,使用git clone命令将代码克隆到本地。例如,可以在终端中运行以下命令: git clone git@github.com:username/Spoon-Knife.git 其中,username是你的GitHub用户名,Spoon-Knife是项目的名称。这样就可以将该项目的代码拷贝到本地。 除了从GitHub克隆代码,你还可以使用其他方法批量下载代码。例如,在PowerShell中可以编写脚本实现批量下载代码。你可以先将要克隆的仓库地址放在一个字符串变量中,然后使用split()方法将其分割成一个字符串数组。接着,使用for循环遍历该数组,并使用git clone命令将每个仓库的代码克隆到本地。例如,可以使用以下PowerShell脚本: $gitstr = @" http://192.168.68.250/nledu/cloud-edu/nledu-middleware-gin-class.git http://192.168.68.250/nledu/cloud-edu/nledu-cloud-emulator-web.git "@ $gitarray=$gitstr.split("`n") for($i=0; $i -lt $gitarray.Length; $i++) { git clone $gitarray[$i].trim() } 这段脚本会将gitstr中的每个仓库地址克隆到本地。 总结来说,git clone命令可以用于拷贝远程仓库中的代码到本地,无论是通过在GitHub上点击fork按钮还是使用PowerShell脚本批量下载代码。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [git fork同步是什么意思?](https://download.csdn.net/download/weixin_38630697/14890605)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [powershell 脚本批量git clone代码](https://blog.csdn.net/linlongdeng/article/details/126402426)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值