无法编译通过自制软件安装在 OS X 上导入 net/http 的程序

我已经在我的 OS X 10.10 机器上安装了使用 Homebrew 的 go。每次我尝试编译导入 net/http 的示例应用程序时,都会收到以下错误:

加载 cmd/cgo:包 cmd/cgo:/Users/bbaron/google_appengine/goroot/src/cmd/cgo 中没有 Go 源文件

我的 GOPATH 变量设置正确($HOME/go)并且我的目录结构似乎是正确的:

/Users/bbaron/go/src/github.com/einsteinx2/gamenotifier /Users/bbaron/go/src/github.com/einsteinx2/gamenotifier/server.go

为什么 cgo 似乎认为 GOPATH 是 $HOME/google_appengine/goroot

我以前(可能是一年前)使用 App Engine 进行了一些 Go 开发,所以肯定有一些剩余的垃圾,但我不知道我需要更改什么才能使其正常工作。

我确实在 $HOME/google_appengine 中安装了 App Engine SDK,但是当我不导入任何 App Engine 内容时,我不明白为什么这会影响任何东西。

有任何想法吗?

编辑:看起来问题出在我的 GOROOT 上。以下内容也在 go env 中:

GOROOT="/Users/bbaron/google_appengine/goroot" GOTOOLDIR="/Users/bbaron/google_appengine/goroot/pkg/tool/darwin_amd64"

但即使我导出正确的 GOROOT 并使用 echo $GOROOT 检查,go env 也看不到正确的 GOROOT


慕仙森
浏览 162回答 1
1回答

守着星空守着你

事实证明,我的谷歌应用引擎安装以某种方式破坏了这些环境变量。我删除了主目录中的文件夹 google_appengine,然后卸载了 Go 的 Homebrew 版本并从官方 OS X 包中重新安装,现在它工作正常。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go