Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Clojure 克洛朱尔·德普是什么意思?_Clojure_Dependencies - Fatal编程技术网

Clojure 克洛朱尔·德普是什么意思?

Clojure 克洛朱尔·德普是什么意思?,clojure,dependencies,Clojure,Dependencies,在尝试使用Clojure Deps和CLI时,我惊讶地发现以下内容都适用于使用Clojure.data.json Maven依赖项: {:deps {org.clojure/data.json {:mvn/version "0.2.6"}}} 具有相同密钥的Git依赖项: {:deps {org.clojure/data.json {:git/url "https://github.com/clojure/data.json.git"

在尝试使用Clojure Deps和CLI时,我惊讶地发现以下内容都适用于使用Clojure.data.json

Maven依赖项:

{:deps {org.clojure/data.json {:mvn/version "0.2.6"}}}
具有相同密钥的Git依赖项:

{:deps {org.clojure/data.json {:git/url "https://github.com/clojure/data.json.git"
                               :sha "13e9d244678be7b235bb24a10310f9d147ea088d"}}}
具有随机密钥的Git依赖项:

{:deps {lol/this-works {:git/url "https://github.com/clojure/data.json.git"
                        :sha "13e9d244678be7b235bb24a10310f9d147ea088d"}}}
对于Maven和Clojars依赖项,:deps键标识工件。当使用gitsha时,名称似乎并不重要

  • 克洛朱尔·德普是什么意思
  • 我应该如何选择我的:deps密钥
我已经阅读过的资源可能包含我想要的:


与maven等其他“扩展”相比,这似乎是工具中如何处理git“扩展”的结果。可以找到与此相关的所有代码。我还要明确指出,我没有深入阅读这段代码,因此我对这段代码的了解并不深入

例如,如果您查看在maven扩展中处理
lib
的方式,它似乎实际上是在检查maven,以查看工件是否以提供的名称存在,您可以在多个位置看到,但也包括

在git扩展代码中,
lib
得到了不同的处理,您可以看到

我不想在这里深入猜测,但我想,如果这是一个有意的设计决策,它可能与git回购协议的地址是此类依赖关系的SoT这一概念有关(即使回购协议的地址/名称可以更改…危险!),然而,以马文的名义登记的是一等公民


试着更直接地回答你的两个问题。。。
:deps
键是什么意思?简单的答案是,这取决于它是什么样的dep!当使用git时,它可以是任何东西,例如,当使用Maven时,它必须引用一个已知的包。我应该如何选择我的dep密钥?这有主观的危险,但是,我建议倾向于使用任何具有可靠的不可变包存储库的dep,并且只有在需要时才使用像github这样的dep。这是因为github依赖项可以更改其地址/名称,或者干脆消失在空气中(已删除的存储库)。

您帮助我看到,我在这里纠结了两个截然不同的问题。(A) 这些键在机械上意味着什么,就像它们被tools.deps.alpha处理一样?(B) 我们应该如何引用依赖关系?这对我很有帮助。谢谢嘿,没问题!很高兴我能帮忙:-)