我有一个用户级别的 deps.edn 文件和一个项目级别的 deps.edn 文件。我想为我的项目生成一个 pom.xml 文件,该文件忽略用户级别 deps.edn 中的任何依赖项。我现在的命令是
clj -Srepro -X:deps mvn-pom
根据文档描述(以及由 -Sverbose 提供的报告),这应该会忽略我的用户级 deps.edn。但我仍然看到来自用户级 deps.edn 的依赖项出现在生成的 pom.xml 中!我尝试了 -Sforce 选项,但没有变化。无论我使用 -Spom 还是 -X:deps mvn-pom,似乎 -Srepro 选项都被忽略了。
关于我的环境的更多详细信息
$ clj -Srepro -Sverbose -Sdescribe
version = 1.10.1.697
install_dir = /usr/local/Cellar/clojure/1.10.1.697
config_dir = /Users/jming/.clojure
config_paths = /usr/local/Cellar/clojure/1.10.1.697/deps.edn deps.edn
cache_dir = .cpcache
cp_file = .cpcache/1655984260.cp
{:version "1.10.1.697"
:config-files ["/usr/local/Cellar/clojure/1.10.1.697/deps.edn" "deps.edn" ]
:config-user ""
:config-project "deps.edn"
:install-dir "/usr/local/Cellar/clojure/1.10.1.697"
:config-dir "/Users/jming/.clojure"
:cache-dir ".cpcache"
:force false
:repro true
:main-aliases ""
:repl-aliases ""}
我错在哪里?为什么 -Srepro 似乎没有任何作用,尽管 -Sverbose 提示会有作用?我该如何将用户级的开发依赖项(如 cljfmt)从 pom.xml 中排除?