2011-07-18 59 views
4

我有一個使用clojure 1.2.1的leiningen項目。我想添加一個依賴到需要clojure 1.3.0-beta1的包。所以我決定把我的項目升級到更新的版本。將lein項目從clojure 1.2.1升級到1.3.0-beta1

說實話,我不知道,參與什麼,但我做了以下..

在我project.clj我改變從 [org.clojure/Clojure的「1.2.1]至[我的依賴組織.clojure/Clojure的 「1.3.0」]

我用斯旺克,所以我改變了我的斯旺克Clojure的依賴性[自吹,Clojure的 「1.3.2」。

然後我跑

雷音的DEP

最後,我手動編輯我的/ usr/bin/lein文件,將CLOJURE_JAR變量指向新的clojure jar。

當我開始與'lein swank'一起swank。它開始很好,我現在得到以下警告消息 像這樣..

警告:默認的javac選項未聲明的動態,因此不是動態rebindable,>但它的名字並非如此。請註明^:dynamic default-javac-options或>更改名稱。

我認爲這與clojure 1.3.0有關。

然後我打開Aquamacs並運行粘液連接。 REPL開頭很好,但是如果得到「1.2.1」,則調用clojure- 。

; SLIME 20100404 用戶>(clojure-version) 「1.2.1」

還有什麼我需要做的嗎?

回答

4

我想,你需要:exclusions列表添加到swank-clojure規範,是這樣的:

:dev-dependencies [[swank-clojure "1.3.2" 
     :exclusions [org.clojure/clojure]]] 

雖然,我只是檢查了我的安裝和Clojure的1.3摸索出箱。我想,你忘了在lein deps之前忘了叫lein clean ...

+0

或者也許在舊的clojure版本中還有另一個依賴關係? – sanityinc

+0

謝謝,我沒有運行'lein clean'。實際的問題是,我在我自己的倉庫中添加了一箇舊的clojure 1.2.1 jar,我將它添加到lein classpath中。 (羞澀笑容) – allama

+0

@sanityinc是的,這可能是個問題,':exclusions'應該解決...... –