尝试从$GOPATH/src运行go build ./...时出现错误。
no non-test Go files in <dir>错误是正确的,<dir>中没有测试文件,但是为什么会导致编译错误呢?这是个bug吗?
发布于 2017-10-24 07:13:52
称其为错误…如果测试编译,构建应该不会失败。归档地址:https://github.com/golang/go/issues/22409
我提交的bug是https://github.com/golang/go/issues/8279的副本,看起来它是在1.3版本中被破坏的。
发布于 2017-10-31 06:48:22
我不认为这是一个bug,除非您在文档中看到与此行为相矛盾的地方,否则您可能应该关闭您创建的问题。
go中的测试通常存在于他们正在测试的包中。你已经创建了一个在顶部有main包的新包(如果你在其他地方也有main包,则无效),然后在test/main包中没有go源文件(无效,因为包除了test之外没有go源文件,这是编译器明确抱怨的)。
为您提供可能的解决方案(假设这不是一个假设问题):
将测试放在同一个包中的原因是为了确保它们可以访问整个包,如果你想将它们拆分到另一个包中,你会发现你必须以pkg的外部用户的身份进行测试-这可能会很痛苦。Main也是一种特殊情况,因为你通常不会导入它。
发布于 2018-11-22 18:31:29
首先,检查您的$GOPATH是否已正确设置。要了解更多信息,请访问here。
然后,检查文件名中是否有'_‘。删除这些‘_’,然后重试。;-)
https://stackoverflow.com/questions/46899112
复制相似问题