Go 如何使用“安装”安装软件包;“去拿”;

Go 如何使用“安装”安装软件包;“去拿”;,go,Go,我最近设置了Go,但无法使用Go-get安装软件包。我尝试了类似问题的建议,但没有成功 对于我尝试安装的任何软件包,我都会得到以下信息: # cd .; git clone -- https://github.com/gorilla/mux /Users/Dan/Desktop/goworkspace/src/github.com/gorilla/mux Cloning into '/Users/Dan/Desktop/goworkspace/src/github.com/gorilla/mux

我最近设置了Go,但无法使用
Go-get
安装软件包。我尝试了类似问题的建议,但没有成功

对于我尝试安装的任何软件包,我都会得到以下信息:

# cd .; git clone -- https://github.com/gorilla/mux /Users/Dan/Desktop/goworkspace/src/github.com/gorilla/mux
Cloning into '/Users/Dan/Desktop/goworkspace/src/github.com/gorilla/mux'...
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
package github.com/gorilla/mux: exit status 128
这是我的围棋:

GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/Dan/Library/Caches/go-build"
GOENV="/Users/Dan/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/Dan/Desktop/goworkspace"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/j4/ntt6p0qn76v46thx2gnqxkm80000gn/T/go-build360206970=/tmp/go-build -gno-record-gcc-switches -fno-common"

如果您必须处理受密码保护的私有SSH密钥(要添加到SSH代理),这意味着您必须在
git config--global-l
中设置如下:

[url "git@github.com:"]
    insteadOf = https://github.com/
因为,如中所示,
go-get
通常是公共的,而且存储库是公共的,应该可以立即工作,而不必使用SSH密钥

因此,请删除该设置

如果您需要SSH,则可以仅对GitHub限制推送操作:


如果您必须处理受密码保护的私有SSH密钥(要添加到SSH代理),这意味着您必须在
git config--global-l
中设置如下:

[url "git@github.com:"]
    insteadOf = https://github.com/
因为,如中所示,
go-get
通常是公共的,而且存储库是公共的,应该可以立即工作,而不必使用SSH密钥

因此,请删除该设置

如果您需要SSH,则可以仅对GitHub限制推送操作:


另一种猜测是,您已经将git配置为使用公钥身份验证,但还没有加载私钥(也不与Go相关),谢谢@JimB。由于某种原因,关键文件丢失,但将其添加回解决了问题。假设它是Go-related,因为我刚刚设置了它,这是我遇到的第一个问题。另一个猜测是,您已将git配置为使用公钥身份验证,但尚未加载私钥(也不是Go-related),谢谢@JimB。由于某种原因,关键文件丢失,但将其添加回解决了问题。假设它是Go相关的,因为我刚刚设置了它,这是我遇到的第一个问题。