首先,由于网络原因,国内可能使用go get不能正常访问。
两种解决方法:
- 添加代理
- 使用git下载
添加代理
具体可以看这个网站七牛云代理
使用git下载
比如我们下载gin框架
我们先找到gin框架的所在github的地址
我们先将代码拉到本地。
git clone https://ghproxy.fsofso.com/https://github.com/gin-gonic/gin.git
#这里最好使用代理拉取,并且是没有缓存的代理,如果是有缓存的代理,可能导致没有下载到最新版本的gin框架
#如果是想使用官方的地址拉取可以使用
git clone https://github.com/gin-gonic/gin.git
我们拉取代码之后,进入到目录中,我们拉取的代码是主分支的代码,我们需要使用发行版本的代码,所以我们可以查看一下tag,看看发行的版本有哪些。
我们现在使用最新版本的框架。
git checkout v1.7.7
现在,我们了解一下go get后下载的包存放在哪里,两种可能:
- go mod 关闭模式
这种情况下一般存放在GOPATH/src/域名/包名
域名,比如我们这次使用的是github.com下面的,就是github.com
包名,是gin-gonic/gin,这个在github的仓库中能看到
合并之后也就是 GOPATH/src/github.com/gin-gonic/gin
- go mod 开启模式
这种情况一般将包 存放在GOPATH/pkg/mod/域名/包名@版本号
版本号:上面我们查看的版本并且使用的版本是v1.7.7
其它的就不过多介绍了,和上面同理
拼接之后就是GOPATH/pkg/mod/github.com/gin-gonic/gin@v1.7.7
现在我们将切换成发行版本的代码包改成所需要的文件夹名,然后放到目录下。
以go mod 开启模式为例
mv ./gin ./gin@v1.7.7
mv ./gin@v1.7.7 $GOPATH/pkg/mod/github.com/gin-gonic/gin@v1.7.7
#注意:如果你没有设置GOPATH的环境变量,你也可以 go env看一下GOPATH在哪,将GOPATH的路径自行带进去