&#34;去获取<package>&#34;找不到包裹

时间:2016-06-27 07:10:49

标签: go

尽管设置了go get github.com/gogo/protobuf/proto,但GOPATH命令似乎无法正常工作。

GOPATH="/Users/tmp/Documents/workspace/app/go"

我发现其他软件包存在类似问题。

读错误:

package github.com/gogo/protobuf/proto: cannot find package "github.com/gogo/protobuf/proto" in any of:
    /usr/local/go/src/github.com/gogo/protobuf/proto (from $GOROOT)
    /Users/tmp/Documents/workspace/app/go/src/github.com/gogo/protobuf/proto (from $GOPATH)

正在运行go env显示:

GOARCH="amd64"
GOBIN="" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin"
GOPATH="/Users/tmp/Documents/workspace/app/go" GORACE=""
GOROOT="/usr/local/go" GOTOOLDIR="/usr/local/go/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"

问题是什么?我该如何解决这个问题?我在网上找不到任何东西,但这是先前的工作。

2 个答案:

答案 0 :(得分:3)

我不知道删除整个文件夹是否是必要的。

首先,您可以尝试使用-u标志(go cmd doc)重新安装所有其他依赖项。

  

-u标志指示get使用网络更新命名包及其依赖项。默认情况下,get使用网络检出丢失的包,但不使用它来查找现有包的更新。

go get支持还可以构建标志来重建您可以尝试的包-a

  

-a       强制重建已经是最新的包。

答案 1 :(得分:1)

经过一番摆弄,我发现src目录中的源文件被删除了。我删除了整个文件夹及其内容,导致整个软件包重新安装。这似乎已经解决了问题并解决了它。

我应该注意到我在调试过程中遇到了另一个错误:

  

/Users/tmp/Documents/workspace/app/go/src/github.com/golang/protobuf/proto

中没有可构建的Go源文件

同样,在删除源文件夹中的整个包之后,这一切都得到了解决。

@Mark:需要注意的一点是,我根据https://github.com/golang/protobuf引用了正确的包名称。