Clojure 克洛朱尔·德普是什么意思?
在尝试使用Clojure Deps和CLI时,我惊讶地发现以下内容都适用于使用Clojure.data.json Maven依赖项: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"
{: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密钥
lib
的方式,它似乎实际上是在检查maven,以查看工件是否以提供的名称存在,您可以在多个位置看到,但也包括
在git扩展代码中,lib
得到了不同的处理,您可以看到
我不想在这里深入猜测,但我想,如果这是一个有意的设计决策,它可能与git回购协议的地址是此类依赖关系的SoT这一概念有关(即使回购协议的地址/名称可以更改…危险!),然而,以马文的名义登记的是一等公民
试着更直接地回答你的两个问题。。。
:deps
键是什么意思?简单的答案是,这取决于它是什么样的dep!当使用git时,它可以是任何东西,例如,当使用Maven时,它必须引用一个已知的包。我应该如何选择我的dep密钥?这有主观的危险,但是,我建议倾向于使用任何具有可靠的不可变包存储库的dep,并且只有在需要时才使用像github这样的dep。这是因为github依赖项可以更改其地址/名称,或者干脆消失在空气中(已删除的存储库)。您帮助我看到,我在这里纠结了两个截然不同的问题。(A) 这些键在机械上意味着什么,就像它们被tools.deps.alpha处理一样?(B) 我们应该如何引用依赖关系?这对我很有帮助。谢谢嘿,没问题!很高兴我能帮忙:-)