3

首先,虽然看起来和下面的问题一样

不是。因为所有这些问题都在git,但这是在go get

$ go get -v -u golang.org/x/tools/cmd/goimports
get "golang.org/x/tools/cmd/goimports": found meta tag get.metaImport{Prefix:"golang.org/x/tools", VCS:"git", RepoRoot:"https://go.googlesource.com/tools"} at //golang.org/x/tools/cmd/goimports?go-get=1
get "golang.org/x/tools/cmd/goimports": verifying non-authoritative meta tag
golang.org/x/tools (download)
# cd .; git clone -- https://go.googlesource.com/tools /path/to/Go/src/golang.org/x/tools
Cloning into '.../Go/src/golang.org/x/tools'...
error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated.
package golang.org/x/tools/cmd/goimports: exit status 128

没有一个解决方案适合我,我相信典型的企业开发环境中的任何人都可以:

  • 我们在公司防火墙后面访问 Internet,因此除非经过特殊处理,否则任何安全的 https 访问都会失败。
  • 除了像上面那样访问公共 https git repos,https : //go.googlesource.com/tools ,这或多或少是一件事情,我们需要一直访问我们内部的 https TFS git repos。因此,我无法像其他解决方案建议的那样更改 git https 访问方法。
  • 我尝试过git config --global http.sslVerify false事先使用,但问题仍然完全相同。

go get那么问题来了,我怎么能让git它放松安检呢?
我认为这是我唯一的选择,但我全神贯注。

PS。-insecure也不起作用:

$ go get -v -insecure golang.org/x/sys/unix
get "golang.org/x/sys/unix": found meta tag get.metaImport{Prefix:"golang.org/x/sys", VCS:"git", RepoRoot:"https://go.googlesource.com/sys"} at //golang.org/x/sys/unix?go-get=1
get "golang.org/x/sys/unix": verifying non-authoritative meta tag
golang.org/x/sys (download)
# cd .; git clone -- https://go.googlesource.com/sys /path/to/Go/src/golang.org/x/sys
Cloning into '/path/to/Go/src/golang.org/x/sys'...
error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated.
package golang.org/x/sys/unix: exit status 128

聚苯乙烯。curl -s https://go.googlesource.com/sys对我来说很好用:

$ curl -s https://go.googlesource.com/sys
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><title>sys - Git at Google</title><link rel="stylesheet" . . .
4

1 回答 1

1

我只是在这上面花了太多时间。F*ing ZScaller。最终对我有用的是从 WSL 版本的 go(我认为是 Ubuntu 20 go 1.13)切换到最新版本(1.17.3)

我使用以下链接中的混合来实现这一点,可能存在更好的方法:
https ://gist.github.com/nikhita/432436d570b89cab172dcf2894465753
https://askubuntu.com/questions/720260/updating-golang-on-ubuntu

但以防万一像我这样的菜鸟来到这里:

sudo apt-get purge golang*
curl -k https://dl.google.com/go/go1.17.3.linux-amd64.tar.gz --output go1.17.3.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf ./go1.17.3.linux-amd64.tar.gz
GOPATH=~/go
GOROOT=/usr/local/go
PATH=$PATH:$GOROOT/bin:$GOPATH/bin
go install package@latest

成功。FUZ (FU ZScaller)

于 2021-11-08T22:21:32.180 回答