이 장에서는 Windows 10
(64비트 버전)에 클로저 개발 환경을 설치하는 예를 보여준다. 다른
OS의 경우에는 이 장의 내용을 참고해서 약간 변용하면 설치가 가능할 것이다.
1. Java JDK 설치
-
클로저는 JVM(Java Virtual Machine) 상에서 실행되는 언어이므로, 먼저 JDK(Java Development Kit)를 설치해야 한다. 클로저는 JDK 1.6.0 이상의 버전에서 돌아가지만, 특별한 요구 사항이 없다면 최신 버전의 JDK를 설치하도록 한다.
-
http://www.oracle.com/technetwork/java/javase/downloads/index.html를 방문해 'Java SE 11 (LTS)'의 'Oracle JDK DOWNLOAD' 버튼을 클릭한 후, 자신의 OS에 맞는 최신 버전의 JDK을 내려 받는다. 여기에서는
Windows
(64비트 버전) 상에서 JDK를 설치하는 예를 보이겠다. 따라서 Java SE Development Kit 11 중에서 Windows x64 버전의 jdk-11_windows-x64_bin.exe 파일을 다운로드 받는다.CautionJRE(Java Runtime Environment)가 아니라 JDK를 다운로드 받아야 한다. -
내려 받은 파일을 실행해, JDK 설치를 시작한다. 기본 설정 값대로 진행해 설치를 마친다.
-
-
화면 좌측 최하단의 ['시작' 버튼 — 'Windows 시스템' — '제어판'] 을 선택한다.
-
['시스템 및 보안' — '시스템' — '고급 시스템 설정' — '고급' — '환경변수' — '시스템 변수' — 'Path'] 항목을 클릭한다.
-
['편집' — '새로 만들기'] 클릭 후, 입력 상자에
C:\Program Files\java\jdk-11\bin
를 입력 후, '확인' 버튼을 누른다.
-
-
Java SDK 설치 확인
-
화면 좌측 최하단의 ['시작' 버튼 — 'Windows 시스템' — '명령 프람프트'] 를 선택한다.
-
명령창에서 다음과 같이 실행해 메시지가 출력되면, Java JDK 버전 설치에 성공한 것이다.
C:\> java -version java version "11" 2018-09-25 Java(TM) SE Runtime Environment 18.9 (build 11+28) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11+28, mixed mode) C:\>
-
2. wget 설치
클로저 프로젝트 관리 도구인 Leiningen이 라이브러리를 내려받을 때 wget 프로그램을 필요로 하므로, 이 프로그램을 미리 설치해 두어야 한다.
-
https://eternallybored.org/misc/wget을 방문해, 최신 버전을 다운로드 받는다. 여기에서는 64비트 버전인 wget-1.19.4-win64.zip 파일을 다운로드 받는 것으로 한다.
-
압축을 푼 후에,
wget.exe
파일을 자신이 원하는 폴더로 복사한다. 여기에서는C:\dev\bin\
폴더에 복사하는 것으로 한다. -
환경 변수
Path
에wget.exe
파일이 위치한 폴더의 경로를 추가한다: (Windows 'Path' 환경 변수 설정하기 참고)-
[시스템 변수]에서 [Path] 변수 선택 후, ['편집' — '새로 만들기'] 클릭 후, 입력 상자에
C:\dev\bin
경로를 추가한 후, '확인' 버튼을 클릭한다.
-
-
wget 설치 확인
-
화면 좌측 최하단의 ['시작' 버튼 — 'Windows 시스템' — '명령 프람프트'] 를 선택한다.
-
명령창에서 다음과 같이 실행해 메시지가 출력되면, wget 설치에 성공한 것이다.
C:\> wget wget: Missing URL Usage: wget [OPTION]... [URL]... Try `wget --help' for more options. C:\>
-
3. Leiningen 설치
Leiningen(라이닝언)은 클로저 프로젝트 관리를 위한 기본 도구이다.
-
다음과 같이 wget을 이용해 leiningen을 다운로드한다. 여기서는 leiningen을
C:\dev\bin\
폴더 아래에 설치하는 것으로 한다.C:\> cd dev\bin C:\dev\bin> wget --no-check-certificate https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein.bat
-
환경 변수
LEIN_HOME
추가 (Windows 'Path' 환경 변수 설정하기 참고)환경 변수
LEIN_HOME
을 새로 만들고,lein.bat
을 포함하고 있는 폴더의 경로를 입력한다.-
[시스템 변수 — 새로 만들기] 선택 후, [변수 이름] 란에 LEIN_HOME으로, [변수 값] 란에는
C:\dev\bin
을 입력한다.
-
-
이후 같은 명령창에서 다음과 같이 입력해 leiningen 본체를 설치하려 하면, 다음과 같은 에러가 날 것이다.
C:\dev\bin> lein self-install Downloading Leiningen now... "2"개의 인수가 있는 "DownloadFile"을(를) 호출하는 동안 예외가 발생했습니다. "요청이 중단되었습니다. SSL/TLS 보안 채널을 만들 수 없습니다." ......
이 에러는 https://github.com/technomancy/leiningen/issues/2412에 이미 보고되어 있다. lein 다음 버전에는 이 문제가 해결될 것으로 보인다. 하지만 당장은 임시방편으로 위의 사이트에 나와 있는 대로, 다운 받은
lein.bat
파일의 내용 중 다음 라인을powershell -Command "& {param($a,$f) $client = New-Object System.Net.WebClient; $client.Proxy.Credentials =[System.Net.CredentialCache]::DefaultNetworkCredentials; $client.DownloadFile($a, $f)}" ""%2"" ""%1""
다음 라인으로 직접 대체해서 해결하도록 한다.
powershell -Command "& {param($a,$f) $client = New-Object System.Net.WebClient; [Net.ServicePointManager]::SecurityProtocol = 'tls12' ; $client.Proxy.Credentials =[System.Net.CredentialCache]::DefaultNetworkCredentials; $client.DownloadFile($a, $f)}" ""%2"" ""%1""
lein.bat
파일을 위와 같이 수정한 후, 다음 명령을 재실행해 leiningen 본체의 설치를 마친다.C:\dev\bin> lein self-install
위 명령이 실행된 후에,
LEIN_HOME
에 지정되어 있는 폴더에self-installs
폴더가 생성되고 그 아래에leiningen-2.8.1-standalone.jar
가 설치된 것을 확인할 수 있다.C:\dev\bin> tree /a /f | lein.bat | wget.exe | \---self-installs leiningen-2.8.1-standalone.jar
-
Leiningen 설치 확인
다음과 같이 실행해 메시지가 출력되면, Leiningen이 제대로 설지된 것이다.
C:\> lein version Leiningen 2.8.1 on Java 11 Java HotSpot(TM) 64-Bit Server VM
4. 예제 프로젝트 만들기
여기서는 sample
이라는 이름의 프로젝트를 만들 것이다. 이 프로젝트를 아래의 IDE 설치
절에서 읽어 들여 실행해 볼 것이다.
-
먼저 명령창에서 다음의 명령을 실행해
C:\dev\projects
폴더를 만들어 놓는다.C:\> cd dev C:\dev> mkdir projects C:\dev> cd projects C:\dev\projects>
-
다음을 실행해
sample
이라는 이름의 프로젝트를 만든다. 그러면sample
폴더 아래에 이 프로젝트에 기본적으로 필요한 여러 개의 폴더와 파일이 만들어질 것이다.C:\dev\projects> lein new sample Generating a project called sample based on the 'default' template. The default template is intended for library projects, not applications. To see other templates (app, plugin, etc), try `lein help new`. C:\dev\projects> cd sample C:\dev\projects\sample> dir C:\dev\projects\sample 디렉터리 2018-10-10 오후 08:12 <DIR> . 2018-10-10 오후 08:12 <DIR> .. 2018-10-10 오후 08:12 110 .gitignore 2018-10-10 오후 08:12 134 .hgignore 2018-10-10 오후 08:12 790 CHANGELOG.md 2018-10-10 오후 08:12 <DIR> doc 2018-10-10 오후 08:12 11,433 LICENSE 2018-10-10 오후 08:12 272 project.clj 2018-10-10 오후 08:12 246 README.md 2018-10-10 오후 08:12 <DIR> resources 2018-10-10 오후 08:12 <DIR> src 2018-10-10 오후 08:12 <DIR> test 6개 파일 12,985 바이트 6개 디렉터리 11,568,414,720 바이트 남음
-
만들어진 파일들 중에서
project.clj
파일을 편집기로 열어, 다음과 같이 수정한다.project.clj(defproject sample "0.1.0-SNAPSHOT" :dependencies [[org.clojure/clojure "1.10.0-RC1"]])
-
다음과 같이 실행해, 의존 라이브러리들을 미리 다운로드 받아 놓는다.
C:\dev\projects\sample> lein deps Retrieving org/clojure/clojure/1.10.0-beta2/clojure-1.10.0-RC1.pom from central Retrieving org/clojure/spec.alpha/0.2.176/spec.alpha-0.2.176.pom from central Retrieving org/clojure/pom.contrib/0.2.2/pom.contrib-0.2.2.pom from central ...... C:\dev\projects\sample>
5. IDE 설치
클로저 프로그래밍을 위한 IDE(Intergrated Development Environment)는 여러가지가 있다. 다음에는 설치와 사용이 수월한 것에서 어려운 순서대로 나열하였다. 자신에게 익숙하고 편리한 IDE를 골라 설치하도록 한다.