【Golang】排查 Build constraints exclude all the go files 的几个思路

这篇具有很好参考价值的文章主要介绍了【Golang】排查 Build constraints exclude all the go files 的几个思路。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

输出该问题时说明在 Go 语言的启动编译(Build)阶段,出现了编译问题,往往是编译配置的问题。可以通过以下思路去排查对应的错误。

一、查看 go env 😶‍🌫️

(1)首先可以查看被排除的 Go 文件是否启用了条件编译,通常的形式为在文件的首行添加(以 Linux 为例):

// +build linux
// 或
//go:build linux

// +build 会逐渐取代 //go:build,但 go 1.16 之前的版本只支持 //go:build。加上上述条件编译后,该 Go 文件将只在 Linux 操作系统环境下才会被编译,若是 MacOS 和 Windows 环境下将无法被编译。解决方案是在 go env 和代码编辑器中都配置好 GOOS 参数(VSCode 在左下角的 GO/env 中设置;GoLand 在左上角的 settings 中配置)。

go env -w GOOS=linux

(2)若非操作系统环境的问题,接着考虑是否有交叉编译,即在 Go 语言编译时调用了其他语言的情况,一般是 C 语言。此时需要在 go env 中开启 CGO_ENABLED 特性。这样在进行 go build 时,就会在编译和链接阶段启动 gcc 编译器。(经评论指出,开启 CGO_ENABLED 需要下载对应操作系统的 gcc 库)

go env -w CGO_ENABLED=1

二、依赖包的依赖是否未导入 ⚙️

在 go 的旧版本中基于 GOPATH 来寻找依赖,但可能依赖包的依赖未导入,可以考虑打开 GO111MODULE,实现模块支持。go 命令行会使用modules,而完全不去 GOPATH 目录下查找模块。

go env -w GO111MODULE=on

三、是否存在重复依赖的情况 🔂

这是我最终排查出的错误,因为在 GoLand 的 settings 中可以存在三个 GOPATH,分别是 Global、Project 和 Module 的 GOPATH。
Global 在 go env 中配置,Project 是项目的 GOPATH。若配置了多个 GOPATH,在导入二方或三方包时,可能在多个 GOPATH 下都有对应的缓存模块,即重复依赖。此时需要删除多余的 GOPATH。文章来源地址https://www.toymoban.com/news/detail-608502.html

【Golang】排查 Build constraints exclude all the go files 的几个思路,Go,golang,开发语言,后端

到了这里,关于【Golang】排查 Build constraints exclude all the go files 的几个思路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • liunx nginx配置ssl 配置https 及访问失败问题排查(fopen:No such file or )([emerg] the “ssl“ parameter requires)

    1.ssl证书下载 比如腾讯云下载目录: 首先在网址(阿里云、腾讯云等)找到域名ssl下载,下载后解压里面有xxx.yey、xxx.pem、xxx.crt等文件 在服务器nginx配置里新建个文件夹,如我的nginx 在 /usr/local/nginx这个目录 2.将ssl证书文件拷贝至服务器 如: 3.检查有没有ssl插件(nginx -V 中V大写

    2024年02月13日
    浏览(48)
  • Unity Error: In order to build a player go to ‘Player Settings...‘ to resolve the incompatibility be

    在Unity中切换安卓平台时,出现这个问题,修改Player Setting–OtherSettings–Color Space* -- Gamma 比心~

    2024年02月12日
    浏览(42)
  • 解决go build 构建问题 go:build comment without // +build comment

    记录一个go build 构建的问题 main.go 文件 脚本功能是监听8081端口访问,打印访问的头信息日志 执行go build 构建 报错 排查了代码应该是没有问题,必应网站查询问题原因,可能是go 的版本 是低于1.17版本 导致出现的问题,go 引入的依赖库包中 1.17版本后 引入了新的构建标记语

    2024年02月16日
    浏览(86)
  • Could not resolve all files for configuration ‘:app:androidJdkImage‘.

    在使用 ./gradlew build 编译项目时候遇到了该问题,整体错误如下: 可以看出使用的sdk版本为34,java版本为21. 解决办法为,修改java版本为17。本地重新下载Java17的jdk,这样本地就会有21、17两个版本,然后在项目中指定依赖的java版本17并配置路径(也可以配置环境变量) gradle.prope

    2024年02月01日
    浏览(55)
  • Could not resolve all files for configuration ‘:app:androidApis‘

     我在第一次使用AndroidStudio时,编译项目遇到了此问题 Could not resolve all files for configuration \\\':app:androidApis\\\'. Failed to transform file \\\'android.jar\\\' to match attributes {artifactType=android-mockable-jar, returnDefaultValues=false} using transform MockableJarTransform Cannot create mockable android.jar inval

    2024年02月04日
    浏览(52)
  • All the stories begin at installation

    Before installation, there are some key points about Conan: “Conan is a dependency and package manager for C and C++ languages.” “With full binary management, Conan can create and reuse any number of different binaries (for different configurations like architectures, compiler versions, etc.) for any number of different versions of a package, using exa

    2024年02月20日
    浏览(38)
  • Build input file cannot be found: .pch

    xcode真机运行时,报错: Build input file cannot be found: /Users/mac/Desktop/projects/xxx/xxx.pch 实际查看发现,项目中的.pch文件存在,但运行时报错。修改配置里的.pch文件路径后,正常。

    2024年02月13日
    浏览(37)
  • Android Could not resolve all files for configuration ‘:app:debugRuntimeClasspath‘

    Could not resolve all files for configuration ‘:app:debugRuntimeClasspath’. Could not find com.just.agentweb:agentweb-androidx:4.1.4. Searched in the following locations: 打开settings.gradle文件,加入代码 maven { url ‘https://maven.google.com’ } 如下所示: 重新编译看问题是否解决,如果没有再接着往下看. 点击File-Sett

    2024年02月12日
    浏览(69)
  • Build File Explorer Applications in RAD Studio 12

    December 13, 2023 ShellBrowser Delphi Components v12.1 now support RAD Studio 12 Athens, enabling developers to easily embed File Explorer functionality into their Delphi apps. ShellBrowser Delphi Components let you harness the familiar Windows Explorer experience within your Delphi or C++Builder applications. These components seamlessly replicate the functi

    2024年02月04日
    浏览(36)
  • go build

    作用:将Go语言程序和相关依赖编译成可执行文件 生成 当前目录名 的可执行文件并放置于当前目录下,如: go build 编译同目录的多个源码文件时,可以在 go build 的后面提供多个文件名,go build 会编译这些源码,输出可执行文件,“go build+文件列表”的格式如下: go build f

    2024年02月21日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包