失败 \- 预期的“包”,发现“EOF”

新手上路,请多包涵

我一直很难尝试在由 vagrant 提供支持的虚拟机中执行一个简单的 golang 程序。这些是我的 go env 的相关领域:

 GOARCH="amd64"
GOPATH="/usr/local/src/go"
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"

这是我要执行的程序(位于 /usr/local/src/go/program ):

 package program

import (
    "fmt"
)

func main() {
    fmt.Print("Aloha")
}

这,我得到的输出:

 main.go:4:5:
/usr/local/go/src/fmt/doc.go:1:1: expected 'package', found 'EOF'
package runtime:
/usr/local/go/src/runtime/alg.go:1:1: expected 'package', found 'EOF'

请注意,这是一个完全虚假的程序。奇怪的是它完全可以在不同的环境中工作。我在这里错过了什么?

非常感谢!

原文由 ThisIsErico 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
2 个回答

问题既不 GOROOT 也不 GOPATH 。 go 安装在某个时候失败了,导致整个过程不稳定(文件创建但完全是空的)。再次配置虚拟机时,go 模块检查文件是否存在。正如他们所做的那样,理所当然地认为安装已经完成。

从头开始清理和全新安装解决了这个问题。

原文由 ThisIsErico 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用 VS Code for GO,遇到了同样的问题。在 Windows 上保存文件“Ctrl+S”解决了这个问题。

参考: Nico 的回答

原文由 Code_Yoga 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏