小白之 Gin 安裝遇到的坑

BreaveHeart發表於2021-09-02

Gin 初始安裝

1、安裝網官的文件執行
go get -u github.com/gin-gonic/gin

Gin 安裝遇到的坑

因不能翻牆,百度了說 用gopm 解決,群裡的小夥伴說這種試早就過時了,現在都是用go mod 來解決
於是 開啟go mod

go env -w GOBIN=/Users/youdi/go/bin
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct // 使用七牛雲的

使用go mod 來 管理一個新的專案

mkdir Gone
cd Gone
go mod init Gone

檢視一下go.mod 檔案

module Gone

go 1.16

go.mod檔案一旦建立後,它的內容將會被go toolchain全面掌控。go toolchain會在各類命令執行時,比如go get、go build、go mod等修改和維護go.mod檔案。

go.mod 提供了module, require、replace和exclude 四個命令

  • module 語句指定包的名字(路徑)
  • require 語句指定的依賴項模組
  • replace 語句可以替換依賴項模組
  • exclude 語句可以忽略依賴項模組
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 (for windows "localhost:8080")
}

執行 go run main.go 執行程式碼會發現 go mod 會自動查詢依賴自動下載
結果報錯

main.go:3:8: no required module provides package github.com/gin-gonic/gin; to add it:
        go get github.com/gin-gonic/gin

執行:go mod edit -require github.com/gin-gonic/gin@latest 解決,指定Gin的版本
再次執行 go run main.go 報錯

go: github.com/gin-gonic/gin@v1.7.4: missing go.sum entry; to add it:
        go mod download github.com/gin-gonic/gin

然後執行 go mod tidy 再次執行 go run main.go 終於跑起來了

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章