taoensso / carmine

Redis client + message queue for Clojure
https://www.taoensso.com/carmine
Eclipse Public License 1.0
1.15k stars 131 forks source link

`CompilerException java.lang.RuntimeException: No such var: encore/kw-identical?, compiling:(taoensso/carmine/protocol.clj:256:3)` #117

Closed Gastove closed 9 years ago

Gastove commented 9 years ago

Hullo --

I'm not terribly sure what's gone awry, but I'm running in to problems using carmine 2.8.0 at the repl or within Emacs. The project lein compiles just fine, but then I hit this:

$ lein repl
nREPL server started on port 53725 on host 127.0.0.1 - nrepl://127.0.0.1:53725
REPL-y 0.3.5, nREPL 0.2.6
Clojure 1.6.0
Java HotSpot(TM) 64-Bit Server VM 1.8.0_20-b26
    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)
 Results: Stored in vars *1, *2, *3, an exception in *e

blockade.core=> (require '[taoensso.carmine :as car])

CompilerException java.lang.RuntimeException: No such var: encore/kw-identical?, compiling:(taoensso/carmine/protocol.clj:256:3)

Thoughts? Suggestions?

Gastove commented 9 years ago

For what it's worth, the problem vanishes when I drop back down to carmine 2.7.1.

ptaoussanis commented 9 years ago

Hi Ross,

Looks like you're experiencing a dependency conflict (which you could confirm by running lein deps :tree at your command line).

Easy fix is to include the latest version of Encore (currently [com.taoensso/encore "1.16.2"]) in your project.clj above any other taoensso libs (so that it'll override any older imports).

Does that help?

Gastove commented 9 years ago

Yep -- looks like it was conflicting with the version of encore brought in by [com.taoensso/timbre "3.2.1"] Explicitly declaring the dep fixed it -- and I've learned about lein deps :tree, which I didn't previously know about. So! Thank you on both counts.

I don't know if this is an "issue" you'll want to "fix", so I'll leave closing this up to you?

ptaoussanis commented 9 years ago

No problem, thanks for following up! Just shout if you run into any other issues. Cheers :-)

mgamba commented 9 years ago

2.7.1 and removing the project's target directory worked for me

ptaoussanis commented 9 years ago

@mgamba - no need to drop to 2.7.1, you can just include an explicit encore dependency in your project.clj as discussed above. That'll sort out any possible dependency conflict. Cheers! :-)

mgamba commented 9 years ago
[com.taoensso/encore "1.16.2"]
[com.taoensso/carmine "2.9.0"]
[com.taoensso/timbre "3.2.1"]

works. thanks!

jinwei233 commented 9 years ago

you should delete target dir and restart again!