go mod 安装 gf/cmd 问题

文章目录

go install github.com/gogf/gf/cmd/gf/v2

实际响应

xieruixiangdeMacBook-Pro:demo xieruixiang$ go install github.com/gogf/gf/cmd/gf/v2
no required module provides package github.com/gogf/gf/cmd/gf/v2; to add it:
        go get github.com/gogf/gf/cmd/gf/v2
xieruixiangdeMacBook-Pro:demo xieruixiang$  go get github.com/gogf/gf/cmd/gf/v2

go: downloading github.com/gogf/gf/cmd/gf/v2 v2.0.0-20230215061332-ad737ded3cd1
go: github.com/gogf/gf/cmd/gf/v2@v2.0.0-20230215061332-ad737ded3cd1: verifying module: github.com/gogf/gf/cmd/gf/v2@v2.0.0-20230215061332-ad737ded3cd1: checking tree#15596361 against tree#15708872: reading https://goproxy.io/sumdb/sum.golang.org/tile/8/1/237: 404 Not Found
        server response: not found

使用编译安装解决,在$GOPATH/src/github.com目录中进行git clone,然后进入其gf/cmd/gf 目录进行 go install

xieruixiangdeMacBook-Pro:github.com xieruixiang$ pwd
/Users/xieruixiang/go/src/github.com
xieruixiangdeMacBook-Pro:github.com xieruixiang$ git clone https://github.com/gogf/gf 
Cloning into 'gf'...
remote: Enumerating objects: 65916, done.
remote: Counting objects: 100% (572/572), done.
remote: Compressing objects: 100% (355/355), done.
remote: Total 65916 (delta 243), reused 456 (delta 185), pack-reused 65344
Receiving objects: 100% (65916/65916), 22.49 MiB | 3.55 MiB/s, done.
Resolving deltas: 100% (43637/43637), done.
xieruixiangdeMacBook-Pro:github.com xieruixiang$ 
xieruixiangdeMacBook-Pro:gf xieruixiang$ pwd
/Users/xieruixiang/go/src/github.com/gf/cmd/gf
xieruixiangdeMacBook-Pro:gf xieruixiang$ go install

最终在bin下生成gf

xieruixiangdeMacBook-Pro:cmd xieruixiang$ pwd
/Users/xieruixiang/go/src/github.com/gf/cmd
xieruixiangdeMacBook-Pro:gf xieruixiang$ go install
xieruixiangdeMacBook-Pro:bin xieruixiang$ pwd
/Users/xieruixiang/go/bin
xieruixiangdeMacBook-Pro:bin xieruixiang$ ls
auth                    gf                      godoc                   gopm                    kind                    protoc-gen-go           protoc-gen-go-grpc      protoc-gen-grpc-gateway protoc-gen-openapiv2    swag

xieruixiangdeMacBook-Pro:bin xieruixiang$ gf -v
GoFrame CLI Tool v2.3.2, https://goframe.org
GoFrame Version: cannot find go.mod
CLI Installed At: /Users/xieruixiang/go/bin/gf
Current is a custom installed version, no installation information.
xieruixiangdeMacBook-Pro:bin xieruixiang$ 

### Go 项目中 `go.mod` 文件的 Go 版本设置不正确导致错误的原因 当在 Go 项目中遇到 `'invalid go version'` 的错误时,通常是因为 `go.mod` 文件中的 Go 版本声明与当前使用的 Go 工具链版本不符。具体来说: - 如果 `go.mod` 中指定了一个不存在或者未被支持的 Go 版本号,则会出现此错误[^1]。 - 此外,如果本地环境下的 Go 编译器版本低于或高于 `go.mod` 所需的版本范围,也可能触发该问题。 #### 解决方案 以下是几种常见的处理方式来解决此类问题: 1. **确认并更新到匹配的 Go SDK** - 查看当前系统的 Go 版本是否满足需求: ```bash go version ``` - 若发现实际运行环境中所安装Go 版本不符合预期,可以卸载旧版再重新部署对应的新版SDK。例如按照提示信息调整至特定版本如 `go1.17.2`[^4]: ```bash cd $GOROOT && cd .. && sudo rm -rf go wget https://dl.google.com/go/go1.17.2.linux-amd64.tar.gz tar -C /usr/local -xzf go1.17.2.linux-amd64.tar.gz ``` 2. **修正 `go.mod` 文件内的版本定义** - 修改项目的根目录下 `go.mod` 文件的第一行内容为合适的Go语言标准库发行编号。比如改为最新稳定发布的标签形式: ```text module your-module-name go 1.18 ``` - 使用命令刷新模块缓存以及同步依赖关系树结构: ```bash go clean -modcache go mod tidy ``` 3. **配置代理加速网络请求过程** 对于国内开发者而言,访问官方仓库可能较慢甚至失败,因此建议切换成更高效的镜像站点作为替代品之一[^5]: ```bash go env -w GO111MODULE=on go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct ``` 以上操作完成后再次尝试执行相关指令即可验证修复效果如何。 --- ### 示例代码片段展示如何检查和修改 Go 环境变量 下面提供一段脚本来帮助自动化部分流程: ```bash #!/bin/bash CURRENT_GO_VERSION=$(go version | cut -d ' ' -f3) if [[ "$CURRENT_GO_VERSION" != *"go1.18"* ]]; then echo "Your current Go version is ${CURRENT_GO_VERSION}. Please update to Go 1.18." else sed -i '' 's/^go .*/go 1.18/' ./go.mod go clean -modcache go mod tidy fi ``` 上述脚本首先获取现有的 Go 版本并与目标值对比;如果不一致就提醒升级必要性,反之则直接编辑 `go.mod` 并清理重置模块状态。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值