登录
首页 >  Golang >  Go问答

下载依赖失败

来源:stackoverflow

时间:2024-02-23 23:12:28 369浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《下载依赖失败》,聊聊,我们一起来看看吧!

问题内容

当我输入命令 go build 时,我有一个项目,其中包含来自 bitbucket 上的私有存储库的多个依赖项。我收到此错误

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

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

git config --global http.extraheader 令牌

配置为 ssh

git config --global url."[email protected]:".insteadOf "https://bitbucket.org/"

但是它不起作用。


解决方案


关于使用 HTTPS URL,请注意,HTTP 传输可能存在分配器/解除分配器不匹配的情况,这一点已在 Git 2.25(2020 年第一季度)中得到纠正。

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

请通过 Johannes Schindelin (dscho) 查看 commit 4d17fd2(2019 年 11 月 6 日)。
(2019 年 12 月 1 日在 commit bad5ed3 中由 Junio C Hamano -- gitster -- 合并)

remote-curl:使用自定义分配器取消破坏 http.extraHeader

签字人:Johannes Schindelin

93b980e58f5(“http:使用 xmalloc 与 cURL”,2019-08-15,Git v2.24.0-rc0 -- merge 列于 batch #3)中,我们开始要求 cURL 使用 xmalloc(),并且如果编译对于 nedmalloc,这隐含地意味着与系统分配器不同的分配器。

这意味着现在 cURL 的所有分配和释放都需要 _need_ 才能使用该分配器。

但是,http_options() 函数使用 slist_append() 添加任何已配置的额外 HTTP 标头 _before_ 要求 cURL 使用 xmalloc(),并且 http_cleanup() 会释放它们 zq bczqb_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 验证可能会被视为安全风险,应仅在测试时实施。

Referencing the self-signed certificate by GIT_SSL_CAINFO 更安全。

好了,本文到此结束,带大家了解了《下载依赖失败》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>