2015-02-24 34 views
1

看来仓库已经从golang.org/x/tools/astutil搬到golang.org/x/tools/go/ast/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? 

什么是正确的WA哟解决这个问题?

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

回答

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不起作用,尝试用全新安装围棋1.4.2的,在一个单独的,干净转到工作区(意思是不同的GOROOT用于引用新的安装,并且不同的GOPATH,用于引用空的和新的工作空间)

0

解决方案N代表我的问题:

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/pgolang.org/x

+1

正如我所说的,一个新鲜的GOPATH更好:从以前的一组依赖没有副作用。 – VonC 2015-02-24 08:15:58