Bazel无法构建Go目标(版本1.21)由于新的工作区模式。
创始人
2024-11-26 17:00:10
0

从Bazel 1.21版本开始,引入了新的工作区模式,需要对Go目标进行一些调整才能成功构建。以下是解决方法的代码示例:

  1. 在项目的根目录下创建一个名为go.mod的文件,用于定义Go模块。
$ cd my_project
$ go mod init example.com/my_project
  1. WORKSPACE文件中引入go_repository规则,指定要使用的Go版本和导入的依赖包。
load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository")

git_repository(
    name = "io_bazel_rules_go",
    remote = "https://github.com/bazelbuild/rules_go.git",
    tag = "0.26.0", # 替换为你需要的版本号
)

load("@io_bazel_rules_go//go:def.bzl", "go_rules_dependencies", "go_register_toolchains")

go_rules_dependencies()

go_register_toolchains()
  1. 创建一个BUILD.bazel文件,定义Go目标的构建规则。
load("@io_bazel_rules_go//go:def.bzl", "go_binary")

go_binary(
    name = "my_binary",
    srcs = ["main.go"],
    importpath = "example.com/my_project",
    visibility = ["//visibility:public"],
)
  1. 在项目根目录下创建一个名为main.go的Go源代码文件,用于定义二进制目标的入口点。
package main

import "fmt"

func main() {
    fmt.Println("Hello, Bazel!")
}
  1. 使用Bazel构建Go目标。
$ bazel build //:my_binary

这样,你就可以使用Bazel成功构建Go目标了。请根据你的项目需要进行相应的调整,并确保安装了适当的Go工具链和依赖包。

相关内容

热门资讯

(WPk透明挂)有挂详情-WP... 自定义德州ai软件系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是...
七分钟普及!家乡大贰道具外挂透... 自定义系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑克专用辅助器,不管你是想分享给你好...
第4自建房(Wepoke开挂)... 第4自建房(Wepoke开挂)软件透明挂辅助器(软件透明挂)透视辅助(2025已更新)(哔哩哔哩)关...
外挂(微扑克到底有挂)的确是真... 外挂(微扑克到底有挂)的确是真的有挂!其实真的有挂(2022已更新)(哔哩哔哩);亲们利用一分钟了解...
(WPk透明挂)有挂方法-We... (WPk透明挂)有挂方法-WepOke辅助透视-德扑软件开发;1分钟了解详细教程(微信 136704...
第8苹果版本(wepOKE)外... 第8苹果版本(wepOKE)外挂辅助脚本(透视)透视辅助(2021已更新)(哔哩哔哩);精心打造了俱...
6分钟攻略!微信欢乐麻将好友房... 6分钟攻略!微信欢乐麻将好友房外挂透明挂辅助-微信欢乐麻将好友房原来真的有挂(2023已更新)1、构...
第8口控制(德扑之星比赛)外挂... 第8口控制(德扑之星比赛)外挂透明挂辅助脚本(辅助挂)透视辅助(2020已更新)(哔哩哔哩)关于德扑...
线上(德扑之星软件)原来真的有... 1、线上(德扑之星软件)原来真的有挂!原来真的有挂(2021已更新)(哔哩哔哩)。2、德扑之星软件透...
(WPk透明挂)有挂详细-德扑... (WPk透明挂)有挂详细-德扑计算软件辅助透视-扑克世界辅助软件;玩家在德扑计算软件中需先进行了解一...