解决问题: go get certificate signed by unknown authority 换个代理或者

出现问题分析

  1. GOPROXY代理有问题

  2. 魔法墙问题

    状况错误提示:

    执行命令

go get -insecure github.com/tiaguinho/gosoap

错误提示如下:



go get github.com/tiaguinho/gosoap: module github.com/tiaguinho/gosoap: Get "https://goproxy.io/github.com/tiaguinho/gosoap/@v/list": x509: certificate signed by unknown authority

解决

关闭代理,启用魔法墙.

或者换一个代理

设置与切换代理方法

Go 版本是 1.13 及以上

$ go env -w GO111MODULE=on
$ go env -w GOPROXY=https://goproxy.cn,direct

其他版本

$ export GO111MODULE=on
$ export GOPROXY=https://goproxy.cn

查看GO的配置

$ go env

解决问题: go get certificate signed by unknown authority

JSON格式输出

$ go env -json

解决问题: go get certificate signed by unknown authority

国内其他代理

goproxy

goproxy.io/zh/

七牛云

https://goproxy.cn

阿里云

mirrors.aliyun.com/goproxy/

问题解决

换了个代理

执行成功
执行代码 如下:


D:\go
λ go env -w GOPROXY=https://goproxy.cn,direct

D:\go
λ go get github.com/tiaguinho/gosoap
go: github.com/tiaguinho/gosoap upgrade => v1.4.4
go: downloading golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553

解决问题: go get certificate signed by unknown authority 换个代理再试试

如果还没解决

再次分析问题

  • go get 不支持代码支持之外的仓库。并且git 调用链过程采取了https
  • 下载过程如果机器设置了GOPROXY,会导致下载失败
  • 编译过程会导致CHECKSUM失败

说明,是google 不让你拉取私有包.

那么,你需要设置私有包.

再次解决问题

目前有以下三种方式:

  1. 给释出的仓库打tag比如v0.0.1,这样仓库地址就可以被识别

  2. 配置 私有

    export GOPRIVATE=git.xxxxxxx.com

    go 1.13版本以上

    go env -w GOPRIVATE=git.xxxxxxx.com

go build的时候系统就不会用GOPROXY以及不再校验SUM

  1. 调整git https===>ssh,注意username换成自己的用户名
    [url "username@git.xxxxxxx.com"]
     insteadOf = https://git.xxxxxxx.com

如果还还还没解决!

那你放弃吧.换个包.

本作品采用《CC 协议》,转载必须注明作者和本文链接
嗨,我是波波。曾经创业,有收获也有损失。我积累了丰富教学与编程经验,期待和你互动和进步! 公众号:上海PHP自学中心 付费知识星球:破解面试:程序员的求职导师
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
司机 @ 欣昊玉
文章
273
粉丝
339
喜欢
558
收藏
1106
排名:64
访问:12.2 万
私信
所有博文
社区赞助商