解决了Go 1.5.1 的gopath多个目录报错问题

老夫win7,从go 1.4升级到了go 1.5.1, 发现gopath居然出问题了。
连打个go env命令都报错如下:

go: GOPATH entry is relative; must be absolute path: “”.
Run ‘go help gopath’ for usage.

纳尼,绝对路径?是要用引号引住吗?各种尝试后依然报错。。。
找来找去找不到问题,群里也说go 1.5是支持gopath多个目录的。那么问题出在哪里呢?改成单个目录就没问题,好奇怪,一直解决不好,一直用着1.4。

春来秋去,眨眼半个月过去了。今天无意中又折腾起go 1.5
无意中在cmd尝试修改了一下gopath,居然正常了。。。怎么突然又正常了呢~
对比了一下前后的区别:
原来的是: gopath=c:\a;c:\b;
这个一直运转正常,但go 1.5就报错。
现在的是: gopath=c:\a;c:\b
这个就正常了。。。。
仔细一看,是末尾多了个分号,go 1.5就认不出来了。
看来是go 1.5自动生成代码跳过了这一点。
难怪老夫折腾了这么久一直解决不了。。。

于是,把gopath末尾多余的分号去掉后,go 1.5也正常了。
这种奇葩问题恐怕只有我遇上了。。。。发个帖留个后来人

共 2 个回复


Mashiro

我遇到了,找了好久,完全没意识到是因为分号,看了帖子后才知道问题在哪里。。。。。

# 0

gomgo

请问gopath 设置多个路径后 go get 如何指定到某个gopath 中呢?
网上说默认gopath的第一个,难道需要每次更改gopath多目录的次序?

# 1