一尘不染

无法下载依赖项

go

当我输入command go build时,我有一个项目具有来自bitbucket上私人存储库的多个依赖项。我得到这个错误

无法识别的导入路径“ bitbucket.xxx.xx / xx / x” x509:证书由未知授权机构签名

我已经尝试了几种方法,例如添加令牌

git config –global http.extraheader令牌

配置为ssh

git config –global url。“ git@bitbucket.org:”。insteadOf“
https://bitbucket.org/

但它不起作用。


阅读 308

收藏
2020-07-02

共1个答案

一尘不染

关于使用HTTPS URL,请注意,使用Git 2.25(2020年第一季度),HTTP传输可能存在分配器/取消分配器不匹配的问题,该问题已得到纠正。

因此,如果您使用的是Git 2.24,http.extraheader无论如何都不会起作用。

参见Johannes
Schindelin(
)的commit
4d17fd2
(06
Nov 2019 。(通过合并JUNIOÇ滨野-
-提交bad5ed3,2019年12月1日)dscho
gitster

[`remote-

curl`](https://github.com/git/git/commit/4d17fd253fbba05c643593bcb86515683badb03f):使用自定义分配器破解http.extraHeader

签字人:约翰内斯·辛德尔林

93b980e58f5中(“
http:将xmalloc与cURL一起使用”,2019-08-15,Git v2.24.0-rc0-
批处理#3中列出的合并),我们开始要求cURL使用,如果使用nedmalloc进行编译,则意味着与系统分配器不同的分配器。xmalloc()

这意味着所有cURL的分配和释放现在_need_以使用该分配器。

但是,该http_options()函数用于slist_append()添加任何已配置的额外HTTP标头_before_要求cURL使用xmalloc()http_cleanup()并将释放它们,_afterwards_,即在存在自定义分配器的情况下,cURL会尝试使用错误的分配器来释放内存。

天真地解决此问题会将调用转移到curl_global_init()
_before_配置已解析(即,在之前调用slist_append())。

但是,这不起作用,因为我们_also解析配置设置http.sslbackend,如果找到,curl_global_sslset()
_必须

在之前调用curl_global_init(),有关详细信息,请参见:https
:
//curl.haxx.se/libcurl/c/curl_global_sslset.html

因此,让我们改为使配置解析完全独立于cURL的数据结构。顺便说一句,这比引入的多删除了两行,这很好。


对于自签名证书,在全局禁用SSL验证可能会被视为安全风险,应仅在测试时实施。

2020-07-02