距离上一次更新该文章已经过了 512 天,文章所描述的內容可能已经发生变化,请留意。
windows下, $GOPATH默认安装位置为: c:\Users<user>\go
建立项目
not a valid zip file
github.com/shirou/gopsutil/process: zip: not a valid zip file
此类问题多是因为GOPROXY所导致。
使用https://mirrors.aliyun.com/goproxy/,direct
的时候,在进行go build/go mod tidy等指令时就会出现此错误。
换成https://goproxy.cn,direct
即可。
shell
1 | mkdir go-example && cd go-example |
设置goland本身的代理

使用vendor(GOPATH
模式正在逐步淘汰,新项目不建议使用)
目录结构
plaintext
1 | $GOPATH/src |
1. 注意点
- 模块
指得是你的app的main模块名字,当然也可以使用appname作为目录名,但是这里面的文件例如main.go必须用main作用package name,因为这个模块是应该main模块的;(相比较其他的appmodule1,appmodule2,他们的模块名也应该是路径名) - vender必须在模块目录下面,例如main/vendor,而不能在GOPATH/src目录下面。
2. go编译办法
这和当前工作路径相关:
- 如果当前路径在$GOPATH/src,或者其子目录下面,那么vendor有效。
- PWD=$GOPATH/src/main: go build
- PWD=$GOPATH/src: go build -o
main/main.go - 如果当前路径不在$GOPATH/src,或者其子目录下面,那么vendor无效,因为使用的是module依赖,而不是vendor依赖包管理了。
go get的时候遇到这个unrecognized import path "golang.org/x/net/html"提示
git clone https://github.com/golang/net
在gopath目录的src文件夹内建立如下目录 golang.org/x,将clone到这里即可
package google.golang.org/protobuf/proto: unrecognized import path "google.golang.org/protobuf/proto"
1、将 google.golang.org/protobuf 包对应的github上的地址git或下载下来,github地址:
git clone https://github.com/protocolbuffers/protobuf-go protobuf
2、在在Go的"$GOPATH"目录的src目录下,创建“google.golang.org” 目录;3、将下载或git文件的protobuf-go/目录下的全部内容clone到上面创建的google.golang.org目录下。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小五的个人杂货铺!