You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用deps.edn的Clojure项目中,包名与版本信息存于何处?

在使用deps.edn的Clojure项目中管理包名称与版本的位置

在Clojure的deps.edn生态里,包名称、版本及相关依赖配置全部直接放在根目录的deps.edn文件中——这和Rust的Cargo.toml作用一致,是项目依赖与元数据管理的核心配置文件,只是格式采用EDN(Extensible Data Notation)而非TOML。

具体存储方式:

  • 项目核心依赖放在:deps键下,以包的符号名(比如org.clojure/clojure)作为键,对应值是包含版本信息的map,示例:
    :deps {
      org.clojure/clojure {:mvn/version "1.11.1"}
      com.github.seancorfield/next.jdbc {:mvn/version "1.3.847"}
    }
    
  • 开发、测试这类特定环境的依赖,可放在:aliases对应的:extra-deps中实现环境隔离:
    :aliases {
      :dev {:extra-deps {org.clojure/tools.namespace {:mvn/version "1.4.4"}}}
      :test {:extra-deps {clojure.test {:mvn/version "0.9.0"}}}
    }
    
  • 若要定义项目自身的元数据(比如项目名称、版本号),可在deps.edn中添加自定义键(如:project);如果需要发布到Maven仓库,需配套生成pom.xml,但日常开发与依赖管理完全依赖deps.edn即可。

和Rust的Cargo.toml不同的是,deps.edn没有单独的依赖元数据区块,而是将每个依赖的标识与版本直接绑定,更贴合Clojure数据优先的风格。

内容的提问来源于stack exchange,提问作者justkash

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 07:18:21