新的clojure开发人员尝试在REPL中试用HTTP kit clojure library。
我在leinengen创建了一个新项目,lein new app kit-expt
。
然后我修改了project.clj中的:dependencies块以包含[http-kit "2.2.0"]
。
然后我运行lein deps
,然后lein repl
。
在REPL中,我尝试运行(:require [org.httpkit.client :as http])
。
但是,当我运行此操作时,我收到错误
CompilerException java.lang.ClassNotFoundException: org.httpkit.client, compiling:(/private/var/folders/cs/b0kcg6fx0335crbvn6xtgq7xl5c29j/T/form-init7575648818353088270.clj:1:1)
我做错了什么?
答案 0 :(得分:2)
您正在使用的:require
表单无效,这是仅用于ns
(命名空间)表单的关键字。尝试删除:
并使用(require ...
,这是REPL中常用的。查看更多require
示例here。
您引用的HTTP客户端文档假定您使用ns在源文件中。
答案 1 :(得分:0)
您的环境似乎有问题。如果我运行它(Ubuntu 16.04)它运行得很好:
require
正如Micah指出的那样,在repl中你需要ns
的上述形式。请注意,它没有前导冒号,并且在左方括号之前有一个单引号。它也必须在括号内,而不是方括号。
在(ns tst.clj.core
(:use clj.core clojure.test tupelo.test)
(:require
[tupelo.core :as t]
[org.httpkit.client :as http] ))
形式(我更喜欢)中,所有内容都有相反的约定:
{{1}}