当将lein-npm插件添加到我的re-frame项目以管理npm依赖项时,lein-npm意外地添加了依赖项的依赖项。我的理解是,这是不必要的,因为它们要么包含在我的依赖关系的jar中,要么就不需要(因为向我的项目添加lein-npm是不需要的)。
使用re-frame模板,我构造了project.clj的最小示例
(defproject stamm "0.1.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.8.0"]
[re-frame "0.9.1"]]
:plugins [[lein-npm "0.6.2"]])调用lein npm list现在返回以下内容:
project@0.1.0-SNAPSHOT /path/to/my/project
├── UNMET DEPENDENCY karma@1.0.0
├── UNMET DEPENDENCY karma-chrome-launcher@0.2.0
├── UNMET DEPENDENCY karma-cljs-test@0.1.0
└── UNMET DEPENDENCY karma-junit-reporter@0.3.8这导致仅通过添加MByte就可以下载大约15个依赖项的lein-npm。我没有声明这里显示在我的karma*中的任何npm依赖项(事实上:我现在根本没有声明任何npm依赖项)。它们起源于依赖关系[re-frame "0.9.1"]。
有什么办法可以防止这种情况吗?
发布于 2017-01-28 19:55:01
我已经发布了reFrame0.9.2,它将NPM依赖项放在:devDependencies键中。这将意味着它们不是传递性的,重新设置消费项目不需要安装karma*。
原来的答案:
在撰写本报告时,我认为没有办法解决这一问题,但我在https://github.com/RyanMcG/lein-npm/issues/50上打开了一个报告问题。
https://stackoverflow.com/questions/41910529
复制相似问题