为了账号安全,请及时绑定邮箱和手机立即绑定

GO(Golang)供应商实验在 mac osx 上失败

GO(Golang)供应商实验在 mac osx 上失败

Go
catspeake 2022-01-10 16:40:58
让 go vendor 实验在 osx 上使用 go 1.6.2 时遇到了一些麻烦。这是我的目录结构:/project    /application        main.go        other.go        /vendor            /github.com                /vendor_name                    /package_name我将我的 GOPATH 设置为/Users/me/project/application 但是当我尝试运行任何 go 工具(例如 build)时,它似乎正在寻找application/src而不是application/vendor,得到很多这样的:main.go:15:2: cannot find package "github.com/facebookgo/grace/gracehttp" in any of:    /usr/local/Cellar/go/1.6.2/libexec/src/github.com/facebookgo/grace/gracehttp (from $GOROOT)    /Users/me/project/application/src/github.com/facebookgo/grace/gracehttp (from $GOPATH)正如你所看到的,go env 输出供应商实验默认情况下是打开的,因为它应该只是它似乎不起作用:GOARCH="amd64"GOBIN=""GOEXE=""GOHOSTARCH="amd64"GOHOSTOS="darwin"GOOS="darwin"GOPATH="/Users/me/project/application"GORACE=""GOROOT="/usr/local/Cellar/go/1.6.2/libexec"GOTOOLDIR="/usr/local/Cellar/go/1.6.2/libexec/pkg/tool/darwin_amd64"GO15VENDOREXPERIMENT="1"CC="clang"GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"CXX="clang++"CGO_ENABLED="1"现在,funkiness 的来源可能是以前的 go 安装遗留下来的。随着时间的推移,我安装了各种版本的 go,有些是通过 gvm(go 版本管理器)安装的,有些是通过 homebrew 安装的。所以我已经卸载了 gvm 和它安装的 go 版本,也卸载了 go with homebrew 并使用 homebrew 重新安装了 1.6.2。去版本输出:go version go1.6.2 darwin/amd64去:/usr/local/bin/go有什么想法在这里可能出了问题,或者我可能只是误解了供应商应该如何工作?PS如果您需要更多信息,请告诉我,很乐意提供
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

它似乎在 application/src

是的,走的是在寻找$GOPATH/src,无论是你的源代码,并vendor源文件夹。

一切都应该在 $GOPATH/src

供应商的文件夹是指只有在的“父目录树上代码是可导入vendor”。
但它是您来源的一部分,因此应该在$GOPATH/src.


查看完整回答
反对 回复 2022-01-10
  • 1 回答
  • 0 关注
  • 187 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信