2016-10-18 10 views
2

lein-resourceには、Clojure [org.clojure/clojure "1.9.0-alpha13"]のアルファバージョンが必要なclojure.specを使用して更新しようとしています。依存関係を追加するとコンパイルはOKですが、REPLとテストではClojure 1.8.0のlein版を使用しています。最新のClojureに対するLeiningenプラグインのトラブルシューティング

:eval-in-leiningenをfalseに設定すると、Clojureの依存関係に従います。

プラグインとして実行する機能を無効にしないで、別のバージョンのClojureでleinプラグインをテストするにはどうすればよいですか?

答えて

0

あなたの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を修正して、あなたは何の問題もないはずです。

0

問題は、project.cljの:eval-in-leiningen trueです。これはキャッチ22のビットです。それが存在する場合、Clojureのバージョンがleinでインストールされて定義された状態でテストが実行されます。削除された場合、コード内のlein依存関係は解決されません。

関連する問題