一尘不染

失败-预期的“包装”,找到“ EOF”

go

我一直很难在由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'

考虑到这是一个完全伪造的程序。奇怪的是,它完全可以在不同的环境中工作。我在这里想念什么?

非常感谢!


阅读 374

收藏
2020-07-02

共1个答案

一尘不染

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

从头开始进行全新清洁安装即可解决此问题。

2020-07-02