加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

生锈 – 为什么Cargo为同一个注册表创建多个目录?

发布时间:2020-12-14 04:26:09 所属栏目:Windows 来源:网络整理
导读:Cargo将下载的包装箱的源代码存储在$HOME / .cargo / registry / src(或相应的$CARGO_HOME目录)中.我得到我使用的每个唯一的注册表将创建一个单独的目录,可能是为了防止冲突. 我不明白的是为什么同一个存储库会创建多个目录: $ls -ld ~/.cargo/registry/src
Cargo将下载的包装箱的源代码存储在$HOME / .cargo / registry / src(或相应的$CARGO_HOME目录)中.我得到我使用的每个唯一的注册表将创建一个单独的目录,可能是为了防止冲突.

我不明白的是为什么同一个存储库会创建多个目录:

$ls -ld ~/.cargo/registry/src/github.com-*
drwxr-xr-x   473 shep  staff  16082 Dec 27  2015 ~/.cargo/registry/src/github.com-0a35038f75765ae4
drwxr-xr-x  1187 shep  staff  40358 Feb  8 19:10 ~/.cargo/registry/src/github.com-1ecc6299db9ec823
drwxr-xr-x   380 shep  staff  12920 Sep 11 12:16 ~/.cargo/registry/src/github.com-88ac128001ac3a9a

据推测,附加到末尾的哈希在此中扮演了一些角色.是什么导致Cargo创建这些目录之一?它是否会回到之前的目录并继续使用它?

解决方法

The hash is based on two fields:源的类型(中央存储库,git引用,本地路径等)和源的URL.

Cargo过去常常委托rust-url实现Hash for Url,后者随着时间的推移而变化.货运的实施最后于pull request 2737修改,以修复issue 1710; Cargo现在散列URL字符串而不是Url对象,以便生成更加稳定的散列,而不依赖于rust-url的行为.

另外,Cargo uses the now-deprecated SipHasher作为哈希函数.因为它已被弃用,所以Cargo可能会在未来改为另一个哈希函数(或者SipHasher可能会转移到一个箱子而Cargo会使用它,谁知道).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读