Leiningen命令执行报错:无法读取transit-clj构件描述符
解决Lein依赖错误:Failed to read artifact descriptor for com.cognitect:transit-clj:jar:0.8.309
问题本质
这个错误是Leiningen(底层基于Maven)无法读取transit-clj这个间接依赖的描述文件导致的——你的项目依赖里没直接声明这个包,但它是某个依赖(比如congomongo)间接引入的。大概率是本地缓存损坏、远程仓库访问失败,或者依赖版本拉取异常。
解决步骤
清理本地缓存
- 先在项目根目录执行:
lein clean - 删除本地存储
transit-clj的缓存文件夹:- Linux/macOS:删除
~/.m2/repository/com/cognitect/transit-clj - Windows:删除
C:\Users\<你的用户名>\.m2\repository\com\cognitect\transit-clj
删掉缓存后,Lein会重新从远程仓库下载完整的依赖文件。
- Linux/macOS:删除
- 先在项目根目录执行:
强制刷新依赖
清理缓存后,运行以下命令强制重新拉取所有依赖:lein deps --refresh也可以用
lein deps :tree查看完整依赖树,确认哪个包引入了transit-clj,同时验证依赖是否能正常拉取。更换Maven镜像(针对网络问题)
如果是网络原因导致无法访问官方仓库,可以配置国内镜像:- 打开(没有就新建)
~/.lein/profiles.clj文件 - 添加以下内容:
{:user {:repositories [["aliyun" "https://maven.aliyun.com/repository/public"]]}}
保存后重新运行
lein deps即可。- 打开(没有就新建)
内容的提问来源于stack exchange,提问作者Lars Melander
相关产品推荐
相关产品推荐

