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

私にとってはどのソリューションも機能しません。典型的な企業の開発環境にいる人なら誰にでも当てはまると思います。

  • 企業のファイアウォールの背後にあるインターネットにアクセスするため、特別な処理を行わない限り、安全な https アクセスは失敗します。
  • 上記のhttps://go.googlesource.com/toolsのようなパブリック https git リポジトリへのアクセスは別として、これは多かれ少なかれ 1 回限りのものであり、社内の https TFS git リポジトリに常にアクセスする必要があります。したがって、他のソリューションが提案したように、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

PPS。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 Zスコーラー。最終的にうまくいったのは、goのWSLバージョン(Ubuntu 20 go 1.13だと思います)から最新のもの(1.17.3)に切り替えることでした

これを達成するために次のリンクからのミックスを使用しましたが、おそらくより良い方法が存在します:
https :
//gist.github.com/nikhita/432436d570b89cab172dcf2894465753

しかし、私のような初心者がここに来た場合に備えて:

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 Zスコーラー)

于 2021-11-08T22:21:32.180 に答える