【问题标题】:src/golang.org directory missingsrc/golang.org 目录丢失
【发布时间】:2017-10-26 15:59:29
【问题描述】:

我是 Go 的新手,我想我在某个地方搞砸了设置。尝试安装 Buffalo 框架时,出现以下错误:

$ buffalo new todo-api --api
Buffalo version v0.9.5

--> go get -u golang.org/x/tools/cmd/goimports
package golang.org/x/tools/cmd/goimports: cannot find package "golang.org/x/tools/cmd/goimports" in any of:
    /usr/local/go/src/golang.org/x/tools/cmd/goimports (from $GOROOT)
    /home/ankush/go/src/golang.org/x/tools/cmd/goimports (from $GOPATH)

我记得清空了 $HOME/go 目录,因为我刚刚从 1.8 升级到 1.9,并认为 Go 会以某种方式自动重新下载并填充它。但它似乎没有。

那么,src/golang.org 目录应该在 $GOPATH 中吗?因为我没有在 $G​​OROOT 中找到它,而且我已经按照标准设置说明进行操作。

有什么建议吗?

== 更新 1 ==

在我的情况下,GOPATH 设置正确。这是go env的输出:

GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/ankush/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build630744714=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"

=== 更新2 ===

这是我为goimports 输出的go get

go$ go get -u -v golang.org/x/tools/cmd/goimports
Fetching https://golang.org/x/tools/cmd/goimports?go-get=1
Parsing meta tags from https://golang.org/x/tools/cmd/goimports?go-get=1 (status code 200)
get "golang.org/x/tools/cmd/goimports": found meta tag get.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at https://golang.org/x/tools/cmd/goimports?go-get=1
get "golang.org/x/tools/cmd/goimports": verifying non-authoritative meta tag
Fetching https://golang.org/x/tools?go-get=1
Parsing meta tags from https://golang.org/x/tools?go-get=1 (status code 200)
golang.org/x/tools (download)
package golang.org/x/tools/cmd/goimports: cannot find package "golang.org/x/tools/cmd/goimports" in any of:
    /usr/local/go/src/golang.org/x/tools/cmd/goimports (from $GOROOT)
    /home/ankush/go/src/golang.org/x/tools/cmd/goimports (from $GOPATH)

【问题讨论】:

  • 如果你自己从命令行调用go get -u golang.org/x/tools/cmd/goimports会发生什么?
  • 相同:package golang.org/x/tools/cmd/goimports: cannot find package "golang.org/x/tools/cmd/goimports" in any of: /usr/local/go/src/golang.org/x/tools/cmd/goimports (from $GOROOT) /home/ankush/go/src/golang.org/x/tools/cmd/goimports (from $GOPATH)
  • @gonutz 我也准备好进行新的安装,但我不确定解压缩后如何再次填写 $GOPATH 转到 $GOROOT。 :-|
  • -v 添加到 go get 命令中,如果这没有显示问题,请将输出添加到您的问题中。
  • @Peter 对不起,这没有帮助。我已将输出添加到我原来的问题中。

标签: go


【解决方案1】:

我终于能够解决它。对于将来被此咬伤的其他人,在我的情况下,它有助于删除相关目录然后重新安装。以下是帮助:

$ rm -rf /home/ankush/go/src/golang.org/x/tools
$ go get -u -v golang.org/x/tools/cmd/goimports

我不确定为什么会这样,但也许 git pull 在创建目录后就以某种方式早先失败了(马虎的连接?)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多