如何重建 godef 以使用 Go 1.4

How to rebuild godef to work with Go 1.4

升级到 Go 1.4 后,godef 不再在标准库中找到很多东西,例如 Testing.Fatalf

当我尝试 go get -u 时,出现了这些错误:

package code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/acme
    imports code.google.com/p/goplan9/plan9/acme: cannot find package "code.google.com/p/goplan9/plan9/acme" in any of:
    /Users/bryan/local/go/src/code.google.com/p/goplan9/plan9/acme (from $GOROOT)
    /Users/bryan/sweng/oms/src/code.google.com/p/goplan9/plan9/acme (from $GOPATH)

我必须编辑此文件,因为依赖项已移动:

--- a/exp/cmd/godef/acme.go
+++ b/exp/cmd/godef/acme.go
@@ -1,7 +1,7 @@
 package main

 import (
-   "code.google.com/p/goplan9/plan9/acme"
+   "9fans.net/go/acme"
    "fmt"
    "io"
    "os"

然后是 go buildgo install,一切都再次正常运行。

我遇到了同样的问题,不过我编辑了 godef.go。

--- a/exp/cmd/godef/godef.go  2015-01-19 15:29:10.760304470 -0500
+++ b/exp/cmd/godef/godef.go  2015-02-10 21:36:29.678102962 -0500
@@ -47,7 +47,7 @@
        }
        r := runtime.GOROOT()
        if r != "" {
-               gopath = append(gopath, r+"/src/pkg")
+               gopath = append(gopath, r+"/src")
        }
        types.GoPath = gopath
}