我一直很难在由vagrant提供支持的虚拟机中执行简单的golang程序。这些是我的相关领域go env:
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'
考虑到这是一个完全伪造的程序。奇怪的是,它完全可以在不同的环境中工作。我在这里想念什么?
非常感谢!
问题既不是GOROOT也不是GOPATH。go安装有时会失败,使整个过程变得不稳定(创建了文件,但完全为空)。再次配置虚拟机时,go模块检查文件是否存在。正如他们所做的那样,理所当然的是安装已经进行了。
GOROOT
GOPATH
从头开始进行全新清洁安装即可解决此问题。