gpt4 book ai didi

clojure - 对于 lein 项目,为什么 lib/在 .gitignore 中?

转载 作者:行者123 更新时间:2023-12-04 16:55:58 25 4
gpt4 key购买 nike

我对 Clojure 和 Java 比较陌生。为什么lein项目中的lib文件夹没有添加到lein项目的git repo中?我认为将所有必要的 jar 放在那里进行分布式开发会很方便。

最佳答案

在 Leiningen 项目中,project.clj 文件规定了项目的依赖项,当您运行“lein deps”时,project.clj 文件中列出的所有依赖项都会下载到 lib/。因此,无需检入 jar,因为 project.clj 与 'lein deps' 命令的结合是另一个人重现您拥有的相同 lib/所必需的。检查所有 jar 是多余的,而且浪费空间。

此外,正如 mblinn 指出的那样,最好从专为分发和更新依赖项而设计的工件存储库中提取 jar,而不是在依赖项更新时不断更改和提交新 jar。当您的项目依赖于经常更改的快照 jar 时尤其如此;如果您 checkin 了 jar,则每次更新快照时都必须 checkin 一个新的 jar,但是如果您依靠“lein deps”从工件存储库中提取 jar,那么您将保持最新状态,没有努力。但即使对于非快照 jar,通过在 project.clj 中更改其版本然后运行“lein deps”来更新依赖项也比手动将 jar 放入 lib/并 checkin 要容易和快捷得多。

我希望上面的解释是可以理解的。如果没有,并且您不了解所讨论的某些概念,例如工件存储库或依赖项,请告诉我,我会解释。

关于clojure - 对于 lein 项目,为什么 lib/在 .gitignore 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5037546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com