Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Leinengen和Clojure在REPL中试用新库的最快方法_Clojure - Fatal编程技术网

使用Leinengen和Clojure在REPL中试用新库的最快方法

使用Leinengen和Clojure在REPL中试用新库的最快方法,clojure,Clojure,新的clojure开发人员正在尝试在REPL中使用 我在leinengen创建了一个新项目,lein new app kit expt 然后我修改了project.clj中的:dependencies块,以包括[http kit“2.2.0”] 然后我运行leindeps,然后运行leinrepl 在REPL中,我尝试运行(:require[org.httpkit.client:as http]) 然而,当我运行这个程序时,我得到了错误 CompilerException java.lang.C

新的clojure开发人员正在尝试在REPL中使用

我在leinengen创建了一个新项目,
lein new app kit expt

然后我修改了project.clj中的:dependencies块,以包括
[http kit“2.2.0”]

然后我运行
leindeps
,然后运行
leinrepl

在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) 

我做错了什么?

您使用的
:require
表单无效,关键字仅用于
ns
(命名空间)表单。尝试删除
,只需使用REPL中常用的
(require…
)即可。请参阅更多
require
示例


您引用的HTTP客户端文档假定您在使用的源文件中。

您的环境中似乎有问题。如果我运行它(Ubuntu 16.04),它工作得很好:

(require '[org.httpkit.client :as http])
(pr-str (clojure.core/deref (http/get "http://google.com")))) 

   => "{:opts {:method :get, :url \"http://www.google.com/\", :query-params nil, :form-params nil, :trace-re".....
更新 正如Micah指出的,在repl中,您需要上面形式的
require
。请注意,它没有前导冒号,并且在左方括号之前有一个单引号。它还必须位于括号内,而不是方括号内

ns
形式中(我更喜欢这种形式),一切都有相反的惯例:

(ns tst.clj.core
  (:use clj.core clojure.test tupelo.test)
  (:require
    [tupelo.core :as t]
    [org.httpkit.client :as http]  ))

事实上,我建议最快的方法根本不涉及
lein new
。请参阅。一旦安装到
~/.lein/profiles.clj
lein尝试http kit 2.2.0
->工作REPL。如果可以选择使用它来代替Leiningen,您只需使用命令
boot-d http kit:2.2.0 REPL