我一直很难尝试在由 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 许可协议
问题既不
GOROOT
也不GOPATH
。 go 安装在某个时候失败了,导致整个过程不稳定(文件创建但完全是空的)。再次配置虚拟机时,go 模块检查文件是否存在。正如他们所做的那样,理所当然地认为安装已经完成。从头开始清理和全新安装解决了这个问题。