【问题标题】:Trouble testing Leiningen plugin against latest Clojure针对最新的 Clojure 测试 Leiningen 插件时遇到问题
【发布时间】:2016-10-18 15:35:12
【问题描述】:

我正在尝试更新 lein-resource 以使用需要 Clojure [org.clojure/clojure "1.9.0-alpha13"] 的 alpha 版本的 clojure.spec。当我添加依赖项时,它可以编译,但 REPL 和测试使用 Clojure 1.8.0 的 lein 版本。

如果我将 :eval-in-leiningen 设置为 false,则它尊重 Clojure 依赖项。

如何在不禁用它作为插件运行的能力的情况下使用不同版本的 Clojure 测试 lein 插件?

【问题讨论】:

    标签: clojure leiningen


    【解决方案1】:

    我猜你的project.clj 正在被你的文件~/.lein/profiles.clj 覆盖。我的看起来像这样:

    > cat ~/.lein/profiles.clj 
    { :user {   
        :plugins [ 
          [com.jakemccrary/lein-test-refresh "0.16.0"]
          [jonase/eastwood  "0.2.3"] 
          [lein-ancient     "0.6.0"]
          [lein-codox       "0.9.3"] 
          [lein-exec        "0.3.6"] 
        ] 
        :dependencies [ 
          [org.clojure/clojure "1.9.0-alpha13"]
        ]
        :test-refresh { :quiet true
                        :changes-only true }
      ; :jvm-opts ["-Xms1g" "-Xmx4g" ] ;   "-server"
      }
    }
    

    我假设您的 project.clj 应该是这样的:

    (defproject clj "0.1.0-SNAPSHOT"
      :description "FIXME: write description"
      :url "http://example.com/FIXME"
      :license {:name "Eclipse Public License"
                :url "http://www.eclipse.org/legal/epl-v10.html"}
      :dependencies [
        [org.clojure/clojure "1.9.0-alpha13"]
        [tupelo "0.9.9"]
      ]
      :java-source-paths ["/home/alan/xpr/src"]
      :main ^:skip-aot clj.core
      :target-path "target/%s"
      :profiles {:dev      {:dependencies [[org.clojure/test.check "0.9.0"]] }
                 :uberjar  {:aot :all}}
    )
    

    修复你的~/.lein/profiles.clj,你应该没有问题。

    【讨论】:

      【解决方案2】:

      原来问题是 project.clj 中的:eval-in-leiningen true。这有点像第 22 条规则。如果它在那里,它会强制测试使用用 lein 安装定义的 Clojure 版本运行。如果去掉,代码中的 lein 依赖不会被解析。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-08-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-04
        • 1970-01-01
        • 2011-12-15
        • 2014-02-13
        • 2017-04-09
        相关资源
        最近更新 更多