2012-07-25 20 views
11

Yani repl yüklenebilir nasıl ki,yeni Clojure kütüphaneleri bu iş akışı sorunu

Ben mutlu benim Clojure proje repl uzakta yazıp i benim project.clj değil başka kütüphane ihtiyaç olduğunu fark ediyorum Bu durumda, tools.cli kitaplığına ihtiyacım vardı.

benim düzenleyicide project.clj açmak ve proje dizin içinde, ben gerekli kütüphaneleri

sonra çekmek için kabukta lein deps yazın Sonra :dependencies

 [org.clojure/tools.cli "0.2.1"] 

için bir giriş eklemek proje bağımlılıkları çekilir, teknik olarak tüm sınıf dosyaları zaten yüklenmeye hazırdır, ancak eğer benim repl'e geri dönersem ve şunu yazarım:

012 Ben kütüphaneyi gerekli önce ne nerede repl durumunu yeniden yapılandırma zaman bir bütün yığını israf,

=>> FileNotFoundException Could not locate tools/cli__init.class 
    or tools/cli.clj on classpath: clojure.lang.RT.load (RT.java:432) 

Yani benim Repl yeniden olurdu:

Ben bu olsun.

Kitaplıkta dinamik olarak yüklenmenin bir yolu var mı? peşin

> (load-library "tools.cli") 
> (use 'tools.cli) 

sayesinde sizin için bu işi gibi

+2

Bkz http://stackoverflow.com/questions/11327624/load-a-new-dependency-in-slime/ – georgek

+0

harika . Bunu çözdü. – zcaudate

cevap

7

Nar size göre:

(add-dependencies :coordinates '[[incanter "1.2.3"]] 
        :repositories (merge cemerick.pomegranate.aether/maven-central 
             {"clojars" "http://clojars.org/repo"})) 
0

Sen bir kütüphane deneyebilir:

https://github.com/cemerick/pomegranate

Bu indirme ve zamanında yeni bağımlılıklar eklenmesini, örneğin destekler lein-try kullanarak repl.

~/.lein/profiles.clj:

{:user {:plugins [[lein-try "0.4.3"]]}}

command line:

$ lein try clj-time "0.5.1" 
Fetching dependencies... (takes a while the first time) 
lein-try loaded [clj-time "0.5.1"] 

nREPL server started on port 57036 
REPL-y 0.2.0 
Clojure 1.5.1 
    Docs: (doc function-name-here) 
      (find-doc "part-of-name-here") 
    Source: (source function-name-here) 
Javadoc: (javadoc java-object-or-class-here) 
    Exit: Control+D or (exit) or (quit) 

user=>