Così ho questo problema del flusso di lavoro:Come possono le nuove librerie Clojure essere caricata nel repl
Sono felicemente digitando via sul mio progetto clojure repl e rendersi conto che ho bisogno di un'altra libreria che non è nel mio project.clj
, dire in questo caso, avevo bisogno della libreria tools.cli
.
apro project.clj
nel mio editor e aggiungere una voce al :dependencies
[org.clojure/tools.cli "0.2.1"]
Poi, all'interno della directory di progetto, di tipo I lein deps
nella shell per tirare le librerie necessarie
Dopo le dipendenze del progetto vengono estratte, tecnicamente tutti i file di classe sono già pronti per essere caricati, ma se torno al mio repl e digito:
> (use 'tools.cli)
ottengo questo:
=>> FileNotFoundException Could not locate tools/cli__init.class
or tools/cli.clj on classpath: clojure.lang.RT.load (RT.java:432)
Così avrei dovuto riavviare il repl, sprecando un mucchio di tempo riconfigurare lo stato della repl a dove ero prima mi serviva biblioteca.
C'è un modo per caricare dinamicamente la libreria? ad esempio, dopo aver eseguito lein deps
ho solo tornare alla repl e digitare:
> (load-library "tools.cli")
> (use 'tools.cli)
Grazie in anticipo
Vedi http://stackoverflow.com/questions/11327624/load-a-new-dependency-in-slime/ – georgek
grande . questo lo ha risolto. – zcaudate