windows下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
只推荐这一篇, 其他的都是狗屎.