darkpoon 发表于 2018-6-22 07:46:29

windows上GOROOT和GOPATH的设置

  解决了找不到fmt包的问题
  下载了go语言的安装包, 然后安装, 装完了需要设置三个地方:
  1. 在windows的PATH变量中添加go的可执行文件所在的目录:
   view plaincopyhttps://code.csdn.net/assets/CODE_ico.pnghttps://code.csdn.net/assets/ico_fork.svg

[*]  PATH=C:\Go\bin;其他设置;
  2. 设置 GOROOT , 这个好理解, 直接设置成 C:\Go 即可
   view plaincopyhttps://code.csdn.net/assets/CODE_ico.pnghttps://code.csdn.net/assets/ico_fork.svg

[*]  GOROOT=C:\Go
  3. 设置GOPATH, 这个很难理解, 我的尝试:
   view plaincopyhttps://code.csdn.net/assets/CODE_ico.pnghttps://code.csdn.net/assets/ico_fork.svg

[*]  GOPATH=    #就是等于空, 这个是可以在系统环境变量中设置的, 结果报错go get 包的时候报错说$GOPATH未设置
[*]  GOPATH=;   #就是等于一个分号(;), go get 包开始可以运行, 不报错, 最后还是报错, 说$GOPATH未设置
[*]  GOPATH=C:\Go 或者GOPATH=C:\Go;    #go get 包报错, 说$GOPATH不能设置成和GOROOT一样的
  最后的解决方案是:
  在C盘创建一个目录叫做GOPATH, 然后设置GOPATH=C:\GOPATH,
   view plaincopyhttps://code.csdn.net/assets/CODE_ico.pnghttps://code.csdn.net/assets/ico_fork.svg

[*]  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
页: [1]
查看完整版本: windows上GOROOT和GOPATH的设置