我试图通过运行Build.sh来构建kperf,但得到以下错误:Unable to Find io/FS.我是个新手,任何帮助我都很感激.

ibrahim@home:~/kperf/src/knative.dev/kperf$ ./hack/build.sh
⚖️ License
? Format
? Compile
knative.dev/kperf/pkg/config imports
        github.com/spf13/viper imports
        io/fs: cannot find module providing package io/fs
-mod=mod not supported (can be '', 'readonly', or 'vendor')
/home/ibrahim/kperf/src/knative.dev/kperf/hack/build-funcs.sh: line 44: go-bindata: command not found
-mod=mod not supported (can be '', 'readonly', or 'vendor')
? Test
knative.dev/kperf/pkg/config imports
        github.com/spf13/viper imports
        io/fs: cannot find module providing package io/fs
-mod=mod not supported (can be '', 'readonly', or 'vendor')
/home/ibrahim/kperf/src/knative.dev/kperf/hack/build-funcs.sh: line 44: go-bindata: command not found
build io/fs: cannot load io/fs: open /home/ibrahim/kperf/src/knative.dev/kperf/vendor/io/fs: no such file or directory
? Failure

复制步骤:

  1. 创建并cd到/kperf/src/ounative.dev目录
  2. 克隆Kperf项目
  3. Cd进入kperf项目目录并运行./hack/Build.sh

推荐答案

该错误消息意味着您的Go工具

  • 不支持-mod=mod(模块支持是在Go1.11中作为实验功能引入的).
  • 没有包io/fs(在Go1.16中添加的).

这表明您的系统上安装的Go工具太旧.

根据Go在the go.mod file中的指令,我认为你至少应该升级到Go1.18.

module knative.dev/kperf

go 1.18

最好是安装最新的Go.见https://go.dev/doc/install 有关安装说明,请参阅.

Go相关问答推荐

如何在定制普罗米修斯出口商中测试动态计量注册?

允许在 struct 中使用复合作为函数参数

CURL和Postman HTTP POST工作,但Golang请求失败,状态为400

如何使用中间件更改http请求的响应代码?

格式化 Azure SDK 的 golang 时间

Cypher 查找(多个)最低 node

按位移计算结果中的差异

这是泛型的有效用例吗?

设置 graphql 的最大文件上传大小(golang)

如何在 gocql 中设置最大池大小?

接受通道和切片的通用函数

CORS grpc 网关 GoLang

在恒等函数中将类型 T 转换为类型 U

速率限制特定端点

不能在 *gorm.db 而不是 gorm.db 上使用 WithContext(ctx) 方法

当有多个同名包时如何在vscode中显示golang包完整路径?

K8s 算子读取原始数据

如何在循环中旋转图像以便在 golang 中创建 GIF?

从 map 返回空数组而不是空字符串数组

手动下载并放置一个 golang mod 文件