Golang安装gin的错误解决方法

方式1:直接使用go get函数,该情况下,已经配置好go环境变量

go get gopkg.in/gin-gonic/gin.v1

但是,使用该语句的时候,遇见超时的问题,可能是内网或者go get被墙(大概率)的原因,此方法行不通

 

方法2:先采用git clone方法下载gin包,再使用go install安装

(1)下载到当前终端所在路径:git clone https://github.com/gin-gonic/gin.git

(2)安装:go install github.com/gin-gonic/gin

 

提示这两个文件夹不存在,于是依然采用git clone下载

参考:https://www.jianshu.com/p/18d1f04be18e

具体语句:

git clone --branch v8.18.2 https://github.com/go-playground/validator.git

git clone --branch v2.2.1 https://github.com/go-yaml/yaml.git

然后将下载下来的包改名,分别为:

gopkg.in\go-playground\validator.v8

gopkg.in\yaml.v2

存放到GOPATH下的

src\github.com\gin-gonic\gin\vendor\gopkg.in 中

具体依据错误出现的路径提示

再执行:go install github.com/gin-gonic/gin

 

报错如下:

unrecognized import path "google.golang.org/protobuf/encoding/prototext": https fetch: Get "https://google.golang.org/protobuf/encoding/prototext?go-get=1": dial tcp 216.239.37.1:443: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

unrecognized import path "google.golang.org/protobuf/encoding/protowire": https fetch: Get "https://google.golang.org/protobuf/encoding/protowire?go-get=1": dial tcp 216.239.37.1:443: i/o timeout
mabing@mabingdeMacBook-Pro logger % go get -u github.com/golang/protobuf/proto
unrecognized import path "google.golang.org/protobuf/encoding/prototext": https fetch: Get "https://google.golang.org/protobuf/encoding/prototext?go-get=1": dial tcp 216.239.37.1:443: i/o timeout
unrecognized import path "google.golang.org/protobuf/encoding/protowire": https fetch: Get "https://google.golang.org/protobuf/encoding/protowire?go-get=1": dial tcp 216.239.37.1:443: i/o timeout
unrecognized import path "google.golang.org/protobuf/proto": https fetch: Get "https://google.golang.org/protobuf/proto?go-get=1": dial tcp 216.239.37.1:443: i/o timeout
unrecognized import path "google.golang.org/protobuf/reflect/protoreflect": https fetch: Get "https://google.golang.org/protobuf/reflect/protoreflect?go-get=1": dial tcp 216.239.37.1:443: i/o timeout
unrecognized import path "google.golang.org/protobuf/reflect/protoregistry": https fetch: Get "https://google.golang.org/protobuf/reflect/protoregistry?go-get=1": dial tcp 216.239.37.1:443: i/o timeout
unrecognized import path "google.golang.org/protobuf/runtime/protoiface": https fetch: Get "https://google.golang.org/protobuf/runtime/protoiface?go-get=1": dial tcp 216.239.37.1:443: i/o timeout
unrecognized import path "google.golang.org/protobuf/runtime/protoimpl": https fetch: Get "https://google.golang.org/protobuf/runtime/protoimpl?go-get=1": dial tcp 216.239.37.1:443: i/o timeout

 

解决办法:

项目代码托管在coding上,国内访问应该快一点
地址:https://robinqiwei.coding.net/p/googleprotobuf/git

LINUX上执行下面的命令:

mkdir -p $GOPATH/src/google.golang.org

git clone https://e.coding.net/robinqiwei/googleprotobuf.git $GOPATH/src/google.golang.org/protobuf

安装动态刷新

go get -v -u github.com/pilu/fresh

安装好后,只需要将go run main.go命令换成fresh即可。每次更改源文件,代码将自动重新编译
根据引用内容,你遇到的问题是在安装gin框架时报错"cannot find module providing package github.com/gin-gonic/gin: working directory is not part of a module"。这个错误通常是因为你的项目目录不是一个有效的Go模块目录。为了解决这个问题,你可以按照以下步骤进行操作: 1. 确保你的项目目录是一个有效的Go模块目录。你可以通过在项目目录中运行命令"go mod init"来初始化一个新的Go模块。 2. 确保你的项目目录中包含一个有效的go.mod文件。如果没有,请运行命令"go mod init"来创建一个新的go.mod文件。 3. 确保你的项目目录中的go.mod文件中包含正确的模块路径。你可以通过编辑go.mod文件来设置正确的模块路径。 如果你遇到了其他问题,比如在安装mysql驱动时报错"git: executable file not found in %PATH%",你可以尝试以下解决方法: 1. 确保你已经正确安装了Git,并且Git可执行文件的路径已经添加到了系统的环境变量%PATH%中。 2. 如果你已经正确安装了Git但仍然遇到了这个错误,你可以尝试使用代理来解决。你可以使用命令"go env -w GOPROXY=https://goproxy.io,direct"来设置代理,并且运行"go get -u github.com/go-sql-driver/mysql"来重新安装mysql驱动。 总结一下,如果你在安装gin框架或mysql驱动时遇到了错误,你可以按照上述步骤来解决问题。确保你的项目目录是一个有效的Go模块目录,并且正确设置了模块路径。另外,确保你已经正确安装了Git并且添加了Git可执行文件的路径到系统的环境变量%PATH%中。如果仍然遇到问题,你可以尝试使用代理来解决
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值