下载Gin因为代理遇到的坑

1. 打开git bash ,切换代理

# 配置 GOPROXY 环境变量
export GOPROXY=https://goproxy.io,direct
# 还可以设置不走 proxy 的私有仓库或组,多个用逗号相隔(可选)
export GOPRIVATE=git.mycompany.com,github.com/my/private

2.下载Gin框架

go get -u github.com/gin-gonic/gin

3.快速开始

新建文件 hello.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": "King JW开启的go服务器",
        })
    })
    r.Run() // listen and serve on 0.0.0.0:8080 (for windows "localhost:8080")
}

4.坑来了

下载Gin
使用代理下载gin后,出现了找不到包的问题,后来发现若使用代理,他会去pkg包下找依赖。
在使用 GOPROXY 的时候,开启了 GO111MODULE,导致包管理非官方所说的在 $GOPATH\src\,而是去了 $GOPATH\src\pkg\目录下,此时就需要用go mod引入这些包 require github.com/gin-gonic/gin@latest ,解决import获取不了包的问题。

go mod init gin
go mod edit -require github.com/gin-gonic/gin@latest

5. 运行程序

go run hello.go

下载Gin因为代理遇到的坑

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 2

我用的是这个犬粮景象,而设置快一点:go env -w GOPROXY=https://goproxy.cn,direct

1个月前 评论

这不是坑啊,GO111MODULE的知识好好去了解一下~ 还有使用代理和使用go mod(go module)包管理是两码事,你可以仅仅使用代理(将GO111MODULE设置为off)就可以了

1个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!