构建Bazel项目时compilepkg缺失golang.org/x/sys/unix依赖的修复方法
解决Bazel构建Google Simhospital时golang.org/x/sys/unix依赖缺失的问题
核心问题分析
你之前在WORKSPACE里添加的go_repository配置有误:importpath应该是golang.org/x/sys,而不是github.com/golang/sys——Bazel的Go规则依赖官方模块路径,镜像地址的配置无法被正确识别。
修复步骤
替换WORKSPACE中的错误配置
把你之前添加的那段配置替换成下面的内容:go_repository( name = "org_golang_x_sys", importpath = "golang.org/x/sys", commit = "13b15b780d9013988b1fb0e79e30b2528a877638", # 该commit版本可保留,也可替换为最新稳定版 )清理Bazel缓存
避免旧依赖缓存干扰构建,执行命令:bazel clean --expunge重新执行构建
再次运行项目文档中的构建命令:bazel build //...
额外排查点
- 如果仍报错,检查项目根目录的
go.mod文件,确认其中已声明golang.org/x/sys/unix依赖 - 你的Bazel v6.4.0和Go v1.21.5版本兼容,但如果问题持续,可以尝试更新Bazel到最新稳定版
内容的提问来源于stack exchange,提问作者melikescheese
相关产品推荐
相关产品推荐

