登录
首页 >  Golang >  Go问答

触发 main.go 恐慌的每个“go”命令

来源:stackoverflow

时间:2024-03-06 16:24:26 341浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《触发 main.go 恐慌的每个“go”命令》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

我注意到,由于特定模块中的 main.go 出现恐慌,每个 go 命令都已停止工作:

> go env
panic: required key foo missing value

goroutine 1 [running]:
github.com/kelseyhightower/envconfig.mustprocess(...)
    /users/kurtpeek/go/pkg/mod/github.com/kelseyhightower/[email protected]/envconfig.go:233
main.main()
    /users/kurtpeek/go/pkg/mod/github.com/myorg/mymodule/[email protected]/main.go:13 +0x314

“有问题的”主要内容类似于

package main

import (
    "github.com/kelseyhightower/envconfig"
    "github.pie.apple.com/someorg/somemodule/config"
)

func main() {
    cfg := &config.Config{}
    envconfig.MustProcess("", cfg)
}

我不知道为什么 go env 命令会因此失败?


解决方案


您的模块名为 github.com/myorg/mymodule/go,这意味着安装的二进制文件名为“go”(在最后一个路径段之后)。该二进制文件可能会隐藏 go 工具,具体取决于您的 PATH 的配置方式。

我建议您更改模块路径以避免此问题。

您可能会尝试重新安装 go,因为似乎 go env 命令的二进制文件已被您可能尝试编译的二进制文件替换,可能的原因可能是您在包含 go tools 的目录中构建了程序。我建议重新安装 go

本篇关于《触发 main.go 恐慌的每个“go”命令》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>