windows上GOROOT和GOPATH的设置

下载了go语言的安装包, 然后安装, 装完了需要设置三个地方:


1. 在windows的PATH变量中添加go的可执行文件所在的目录:

PATH=C:\Go\bin;其他设置;


2. 设置 GOROOT , 这个好理解, 直接设置成 C:\Go 即可

GOROOT=C:\Go


3. 设置GOPATH, 这个很难理解, 我的尝试:

GOPATH=    #就是等于空, 这个是可以在系统环境变量中设置的, 结果报错go get 包的时候报错说$GOPATH未设置
GOPATH=;   #就是等于一个分号(;), go get 包开始可以运行, 不报错, 最后还是报错, 说$GOPATH未设置
GOPATH=C:\Go 或者GOPATH=C:\Go;    #go get 包报错, 说$GOPATH不能设置成和GOROOT一样的

最后的解决方案是:

在C盘创建一个目录叫做GOPATH, 然后设置GOPATH=C:\GOPATH,  

GOPATH=C:\GOPATH

go get 包可以使用了, 最后包会安装到 C:\GOPATH\ 目录的pkg和src文件夹里, pkg里是*.a格式的, 暂且理解为库吧, src目录里是*.go格式的源码.


总结


实际上GOPATH, 可以是一个目录的列表, 在windows环境变量里设置的时候, 多个目录使用分号(;)隔开, 在linux里多个目录使用冒号(:)隔开, 组合的一个字符串.


GOPATH是一些列用于go来查找包的目录列表. 使用import "包名" 的时候, 如果在 GOROOT里找不到, 应该会转向到你的GOPATH里去寻找.


不让GOPATH和GOROOT环境变量的值设置为同一个目录, 可能是因为不想你新安装的包, 污染了核心go的pkg和src文件.


参考资料:

GOROOT 和 GOPATH: http://my.oschina.net/achun/blog/134002 


只推荐这一篇, 其他的都是狗屎.

你可能感兴趣的:(windows,Go,GOROOT,GOPATH)