gpt4 book ai didi

clojure - `lein deps' 是如何工作的?

转载 作者:行者123 更新时间:2023-12-02 06:42:02 25 4
gpt4 key购买 nike

谁能告诉我lein deps是如何工作的?如果lein~/.m2中找到项目所需版本的依赖项,lein仍然会再次下载相同的包?

最佳答案

让我们将其分为几个问题,我将尝试对每个问题进行简要介绍:

  • 有人告诉我 lein deps 是如何工作的吗?
    “deps”目标的目标是确保运行该项目所需的每个依赖项在本地 Maven 存储库中可用。简而言之,它使用 jar 填充 ~/.m2/...,这些 jar 需要位于类路径上才能运行项目

  • 如果 lein 在 ~/.m2 中找到项目所需版本的依赖项,lein 还会再次下载相同的包吗?
    不,它只根据需要下载内容,而不是在本地存储库中。默认情况下,虽然 lein 仅每 24 小时检查一次新快照版本,但您可以通过运行“lein -U deps”使其更频繁地执行此操作

一旦 lein deps 完成并且包可用,那么 lein 就可以通过将每个所需 jar 的位置作为类路径参数传递来启动 jvm,如下所示:

java -classpath /project/path/test:/project/path/src:
/project/path/dev-resources:/project/path/resources:
/project/path/target/classes:
/home/ubuntu/.m2/repository/org/apache/maven/maven-model-builder/3.0.4/maven-model-builder-3.0.4.jar:
/home/ubuntu/.m2/repository/org/apache/maven/maven-repository-metadata/3.0.4/maven-repository-metadata-3.0.4.jar:
/home/ubuntu/.m2/repository/org/apache/maven/wagon
:/home/ubuntu/.m2/repository/org/clojure/tools.analyzer/0.1.0-beta12/tools.analyzer-0.1.0-beta12.jar:
/home/ubuntu/.m2/repository/org/tcrawley/dynapath/0.2.3
... lots more paths here ...

很久以前 lein 曾经将它们复制到项目中的本地文件夹中,它不再这样做,并且您可以安全地忽略任何告诉您运行“lein clean”的文档(尽管运行它不会有什么坏处,如果您正在尝试清理 AOT 编译后的奇怪故障)

关于clojure - `lein deps' 是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28225791/

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