Golang中No Go files错误消息的解决方法
Golang中No Go files错误消息的解决方法 你好,
可以看到目录中存在 Gopkg.lock 和 Gopkg.toml 文件。为什么会返回“在…目录中没有 Go 文件”的消息?

我从未以这种方式安装过Openshift。
在我们公司,我们使用 terraform 来按需启动机器,然后运行一些 ansible 剧本进行环境配置(这是3.x版本),由于我不了解的原因,我们尚未尝试4.x版本。我没有参与这个流程。
更多关于Golang中No Go files错误消息的解决方法的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
因为该文件夹中没有 *.go 文件。
另外,您提到的 gopkg 文件并非官方 Go 工具链的产物,也不被其理解,它们是第三方工具链的一部分,该工具链试图实现类似于当今 Go 模块的功能。
我从未使用过任何这些第三方工具,因此无法确定具体是哪个工具。
// 代码示例保留原样
感谢您的帮助。
我正在尝试使用 GitHub 在 AWS EC2 实例上安装 OpenShift。按照教程指引,我接触到了 Go。
openshift/installer/blob/master/docs/dev/dependencies.md
# 管理依赖项
## 构建依赖项
在构建安装程序之前,必须在系统上安装以下依赖项。
### Fedora、CentOS、RHEL
```sh
sudo yum install golang-bin gcc-c++
如果需要支持 libvirt destroy,还应安装 libvirt-devel。
Go
我们采用严格的扁平化方法;即直接和继承的依赖项都安装在基础的 vendor/ 目录中。
依赖项使用 dep 进行管理,但直接提交到代码库。如果没有安装 dep,请从安装链接获取最新版本。
该文件已被截断。[显示原文](https://github.com/openshift/installer/blob/master/docs/dev/dependencies.md)
在Golang中遇到"No Go files"错误通常是因为当前目录中缺少有效的Go源文件(.go文件),即使存在依赖管理文件如Gopkg.lock和Gopkg.toml。这些文件仅用于依赖管理,而Go工具链需要实际的Go源文件才能执行编译或分析操作。
以下是几种常见情况及解决方法:
1. 检查目录中是否存在.go文件
确保当前目录包含至少一个有效的Go源文件。例如:
ls *.go
如果没有任何输出,说明确实缺少Go文件。
2. 创建Go源文件
如果目录中缺少.go文件,创建一个简单的Go文件即可解决问题。例如,创建main.go:
package main
import "fmt"
func main() {
fmt.Println("Hello, World!")
}
3. 检查文件扩展名
确保文件扩展名是.go,而不是其他扩展名或拼写错误。
4. 使用正确的构建命令
如果目录中包含Go文件但仍出现错误,尝试明确指定文件或包路径:
go build .
或
go run main.go
5. 检查GOPATH和模块设置
如果使用旧版GOPATH模式,确保目录位于$GOPATH/src下。对于Go模块(Go 1.11+),确认已初始化模块:
go mod init your-module-name
在您的情况下,由于目录中只有Gopkg.lock和Gopkg.toml(dep工具的文件),但没有.go文件,Go工具无法找到任何Go代码进行处理。添加一个.go文件即可解决此问题。

