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後端程序啦~ 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章