正确获取golang.org/x/tools/go/ast/astutil的方法

时间:2015-02-24 06:46:20

标签: go package

存储库似乎已从golang.org/x/tools/astutil移至golang.org/x/tools/go/ast/astutil

我正在尝试构建gore但是找不到astutil,我有解决方法来编译它:

mkdir $GOPATH/src/golang.org/x/tools/go/ast
ln -s $GOPATH/src/golang.org/x/tools/astutil $GOPATH/src/golang.org/x/tools/go/ast

但这是解决此问题的正确方法吗?

我尝试删除x/tools目录并使用此命令再次获取它:

rm -rf $GOPATH/src/golang.org/x/tools 
go get -u -v golang.org/x/tools

astutil仍位于同一目录(x/tools/go/astutil)而不是x/tools/go/ast/astutil

我试过go get -u -v golang.org/x/tools/go/ast/astutil,但似乎无效:

Fetching https://golang.org/x/tools/go/ast/astutil?go-get=1
Parsing meta tags from https://golang.org/x/tools/go/ast/astutil?go-get=1
(status code 200)
get "golang.org/x/tools/go/ast/astutil?": found meta tag
main.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"
https://go.googlesource.com/tools"} at
https://golang.org/x/tools/go/ast/astutil?go-get=1
get "golang.org/x/tools/go/ast/astutil?": 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/go/ast/astutil?: /home/asd/Dropbox/go/src/
golang.org/x/tools exists but /home/asd/Dropbox/go/src/
golang.org/x/tools/.git does not - stale checkout?

解决这个问题的正确方法是什么?

我的版本:go version go1.4.1 linux/amd64

2 个答案:

答案 0 :(得分:1)

我刚试过:

C:\Users\VonC\prog\go\src\github.com\golang\lint>go get -t -v ./...
golang.org/x/tools/go/exact
golang.org/x/tools/go/ast/astutil
golang.org/x/tools/go/types
golang.org/x/tools/go/gcimporter
github.com/golang/lint
github.com/golang/lint/golint

这足以至少编译包括golang.org/x/tools/go/ast/astutil在内的所有相关工具,但不能获取其来源。


对于astutil,我也尝试过:

C:\Users\VonC\prog\go>go get golang.org/x/tools/go/ast/astutil

C:\Users\VonC\prog\go>cd src

C:\Users\VonC\prog\go\src>cd golang.org/x/tools/go/ast/astutil

C:\Users\VonC\prog\go\src\golang.org\x\tools\go\ast\astutil>dir

 Répertoire de C:\Users\VonC\prog\go\src\golang.org\x\tools\go\ast\astutil

03/02/2015  07:41    <REP>          .
03/02/2015  07:41    <REP>          ..
03/02/2015  07:41            16 003 enclosing.go
03/02/2015  07:41             4 655 enclosing_test.go
03/02/2015  07:41             9 191 imports.go
03/02/2015  07:41            11 035 imports_test.go
03/02/2015  07:41               211 util.go

如果go get golang.org/x/tools/go/ast/astutil不起作用,请尝试全新安装Go 1.4.2,在一个单独且干净的Go工作区(意味着不同的GOROOT用于引用新安装,以及另一个GOPATH,用于引用空的和新鲜的工作区)

答案 1 :(得分:0)

解决我的问题:

cd $GOPATH/src/code.google.com/p/
rm -rf go.*

cd $GOPATH/src/golang.org/x/
rm -rf *

go get -u -v golang.org/x/tools
go get -u -v golang.org/x/crypto
go get -u -v golang.org/x/image
go get -u -v golang.org/x/mobile
go get -u -v golang.org/x/net
go get -u -v golang.org/x/sys
go get -u -v golang.org/x/text

可能我的错误是我go get来自code.google.com/p而不是golang.org/x