为了账号安全,请及时绑定邮箱和手机立即绑定

无法下载依赖项

无法下载依赖项

Go
临摹微笑 2022-04-20 20:41:22
当我键入命令 go build 时,我有一个项目具有来自 bitbucket 上的私有存储库的多个依赖项。我收到这个错误无法识别的导入路径“bitbucket.xxx.xx/xx/x”x509:由未知机构签署的证书我尝试了几件事,例如添加令牌git config --global http.extraheader 令牌配置为 sshgit config --global url."git@bitbucket.org:".insteadOf " https://bitbucket.org/ "但它不起作用。
查看完整描述

1 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

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

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

请参阅Johannes Schindelin ( ) 的提交 4d17fd2(2019 年 11 月 6 日)。(由Junio C Hamano 合并——提交 bad5ed3中,2019 年 12 月 1 日)dscho
gitster

remote-curl: 使用自定义分配器解开 http.extraHeader

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

在93b980e58f5 (" http: use xmalloc with cURL", 2019-08-15, Git v2.24.0-rc0 -- merge列在第 3 批中) 中,我们开始要求 cURL 使用xmalloc(),如果使用 nedmalloc 编译,则意味着隐式与系统分配器不同的分配器。

这意味着所有 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(),详情请参阅:https ://curl.haxx.se/libcurl/c/curl_global_sslset.htmlcurl_global_init()

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


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

引用自签名证书GIT_SSL_CAINFO更安全。


查看完整回答
反对 回复 2022-04-20
  • 1 回答
  • 0 关注
  • 95 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信