2017-03-14 2 views
1

HTTP kit clojure library을 REPL로 시험하려는 새로운 clojure 개발자.Clojure로 Leinengen을 사용하여 REPL에서 새로운 라이브러리를 가장 빨리 시험해보기

나는 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) 

을 얻을?

+1

실제로 가장 빠른 방법은 전혀'lein의 new'을 포함하지 않는 게 좋을 것 : (내가 선호하는)이 ns 형태에서

은, 모든 반대 규칙을 가지고있다. [lein-try] (https://github.com/rkneufeld/lein-try)를 참조하십시오. '~/.lein/profiles.clj'에 일단 설치되면,''REIN을 사용하여 http-kit 2.2.0'을 시험해보십시오. –

+1

Leiningen 대신 [Boot] (http://boot-clj.com/)를 사용하는 옵션이라면 간단히'boot -d http-kit : 2.2.0 repl' 명령을 사용할 수 있습니다. –

답변

0

환경에 이상이있는 것으로 보입니다. 내가 (우분투 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"..... 

업데이트

미가는 REPL에서 당신이 require의 위의 양식을 필요로 지적. 콜론 (:) 앞에 콜론이없고 왼쪽 대괄호 앞에 작은 따옴표가 있습니다. 대괄호 대신 괄호 안에 있어야합니다.

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

:require 양식은 유효하지 않으며 ns (네임 스페이스) 형식으로 만 사용하기위한 키워드입니다. :을 제거하고 REPL에서 일반적으로 사용되는 (require ...을 사용해보세요. requirehere의 예를 참조하십시오.

ns을 사용하여 소스 파일에 있다고 가정하는 HTTP 클라이언트 문서.