You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译kperf失败:无法找到io/fs模块及缺失go-bindata命令

问题

我是Go语言新手,尝试运行build.sh编译kperf项目时出现两个报错:无法找到io/fs模块,且提示go-bindata命令不存在。具体错误日志如下:

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

复现步骤:

  • 创建并进入/kperf/src/knative.dev目录
  • 克隆kperf项目
  • 进入kperf项目目录并运行./hack/build.sh

解决方法

1. 升级Go版本到1.16+

io/fs是Go 1.16版本才正式纳入标准库的模块,你的Go版本低于1.16才会出现找不到包的问题。

  • 检查当前Go版本:go version
  • 升级到Go 1.16或更高版本,同时确保GOPATH、GOROOT环境变量配置正确。

2. 安装缺失的go-bindata工具

报错提示go-bindata命令不存在,执行以下命令安装:

go get github.com/go-bindata/go-bindata/v3/go-bindata

安装完成后,确认$GOPATH/bin已加入系统PATH环境变量,保证可以全局调用该命令。

3. 修复vendor模式兼容问题

报错中的-mod=mod not supported提示说明项目采用vendor模式,执行以下命令重新生成vendor目录:

go mod vendor

完成后再次运行./hack/build.sh尝试编译。

内容的提问来源于stack exchange,提问作者Desolar1um

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 09:52:10