使用deps.edn的Clojure应用执行/Jack-in时遇Range Not Satisfiable错误
解决Clojure依赖same/ish "0.1.6"的416错误
问题分析
416错误表明依赖same/ish的0.1.6版本无法从Maven仓库正常获取,可能是版本已下架、仓库索引过期,或是间接依赖的版本匹配出现问题——你的依赖配置里虽未直接声明same/ish,但它是org.scicloj/clay或noj的间接依赖。
解决方案
1. 强制指定可用的same/ish版本
在deps.edn中直接声明该依赖的有效版本,覆盖间接依赖的旧版本(以0.1.7为例,可根据仓库实际可用版本调整):
:deps {org.scicloj/clay {:mvn/version "2-beta17"} org.scicloj/noj {:mvn/version "2-alpha9.1"} aerial.hanami/aerial.hanami {:mvn/version "0.20.0"} same/ish {:mvn/version "0.1.7"}}
2. 清理本地缓存
本地Maven或Clojure工具缓存可能存在损坏文件,执行以下命令清理:
# 删除same/ish的本地缓存目录 rm -rf ~/.m2/repository/same/ish # 清理Clojure CLI的依赖缓存 rm -rf ~/.clojure/.cpcache
3. 强制更新依赖索引
使用Clojure CLI命令强制刷新依赖索引:
clojure -Sforce
4. 排查依赖传递链
用命令查看完整依赖树,确认same/ish的来源,判断是否可以升级上游依赖版本:
clj -Stree
如果发现是某特定依赖拉取了过时的same/ish,可尝试升级该依赖到最新版本(比如org.scicloj/clay的后续beta版本),从根源避免依赖问题。
内容的提问来源于stack exchange,提问作者tudor
相关产品推荐
相关产品推荐

