Perl module(CPAN)은 CPAN(Comprehensive Perl Archive Network)에는 정말 많은 양의 좋은 module들이 많습니다. 필수로 설치해야한다고 느낄 정도입니다.^^;;
하지만 Linux에서는 쉽게 cpan 프로그램이나 소스 컴파일로 설치를 할 수 있는 반면 Windows에서는 그것이 조금 어려운 경우가 있었습니다. 이번에 그런 어려움을 겪었고, 대체로 작업은 Linux에서 하기에 잊을 확률이 높아 간단히 여기에 글을 남깁니다.(남긴다?)
Windows용 Perl로 ActivePerl이 유명합니다. 저 역시 예전에 이것을 사용하였습니다만, 이번에는 다른 것을 선택하였습니다. 바로 Strawberry Perl입니다. 사실 큰 이유 없이 한 번 써보자는 생각에 설치를 하였지만, 이것에 강점이 있는 것을 발견하였습니다.

바로 MinGW가 같이 설치된다는 점입니다. 그 덕분에 cpan에서 소스 파일을 다운로드 받아 설치하는 것이 매우 쉬워졌습니다.
현재 Strawberry Perl은 버전 5.10.0.3과 5.8.8.3이 나와있습니다. 이 중 저는 5.8.8.3을 선택하였습니다. 이유는 후에 말씀 드리겠습니다.
이제 Perl 설치를 하였으니 module 설치에 대해 얘기하겠습니다. 그 전에 설치하고자 하는 module을 http://search.cpan.org/에서 검색하여 그 이름을 알아둡니다.
1. cpan을 이용한다.

cmd에서 cpan을 실행하면 cpan> 이는 표시가 나옵니다. 이 때 원하는 module의 이름을 적습니다. 여기서는 WWW:Mechanize를 선택하였습니다. 하지만 이미 설치되어 저렇게 나옵니다. 만약 아닐 경우 자동으로 소스를 다운받고 컴파일하여 설치합니다. 프로그램 종료는 exit입니다.
2. 소스를 다운로드 받아 수동으로 설치한다.
몇몇 module의 경우 cpan 프로그램으로 설치 시 에러가 발생하는 경우가 있습니다. 따라서 그것에 대한 해결책으로 소스를 직접 다운로드 받아 수동으로 설치합니다.
먼저 http://search.cpan.org에서 원하는 module을 검색합니다. 그 후 원하는 것을 선택하면 다음과 같은 화면이 나옵니다.

여기서 오른쪽에 Download 밑에 tar.gz 파일을 클릭하여 소스를 다운로드 받습니다. 그리고 이것의 압축을 풀면 파일 이름을 가지는 폴더가 나옵니다. 그 폴더 안으로 들어갑니다.

해당 폴더에서 'perl Makefile.PL'이라고 하여 Makefile을 만듭니다. 이 때 검사를 하여 설치 시 필요한 module을 얘기합니다. 만약 이런 것이 생길 경우 해당 module을 설치하는 것이 좋습니다. 이를 수동으로 해야하기에 1번의 cpan보다 불편합니다. 가끔 이런 이유로 설치하는 module은 cpan에서 제대로 설치될 가능성이 있습니다.

그 후 'dmake'라는 명령어로 컴파일을 수행합니다. Linux에서는 make라는 명령어이지만, 여기서는 dmake라는 명령어입니다. 컴파일을 마치면 이제 설치를 위해 'dmake install'을 실행합니다.
3. ppm을 통한 설치.
ActivePerl에서는 ppm(Perl Package Manager)이라는 것으로 cpan modules를 설치할 수 있게 합니다. 이렇게 설치해야 하는 것 중 대표적으로 Crypt::SSLeay가 있습니다. 사실 이것을 설치하는데 고생을 많이 했습니다.OTL...
설치법으로는 'ppm install Crypt::SSLeay'이라는 식으로 하면 됩니다. 하지만 해당 module의 경우 그렇게 하면 안되고 조금 다르게 해야 합니다.
Perl version이 5.8인 경우에는 다음과 같습니다.
ppm install http://theoryx5.uwinnipeg.ca/ppms/Crypt-SSLeay.ppd
Perl version이 5.6.1이면 다음과 같습니다.
ppm install http://theoryx5.uwinnipeg.ca/ppmpackages/Crypt-SSLeay.ppd
Perl version이 5.10이면 다음과 같습니다.
ppm install http://cpan.uwinnipeg.ca/PPMPackages/10xx/Crypt-SSLeay.ppd
이처럼 version에 따라 설치할 장소가 다릅니다. 따라서 이것 때문에 또 고생하였습니다. 위에서 5.8을 선택하였다고 하였는데 그 이유가 바로 여기에 있습니다. 5.10은 최신판이라 그런지 가끔 ppm으로 설치해야 하는 것임에도 5.10이 없는 것이 있습니다. 그것 때문에 5.10을 지우고 다시 5.8을 설치 후 module을 다시 다 설치했습니다.OTL...
ppm으로 설치 시 가끔 dll 파일을 fetch 할 것이냐고 묻는데 기본이 no입니다. 하지만 yes를 하여 받는 것이 좋습니다. 왜냐하면 PerlAPP로 배포판을 만들 때 해당 dll 파일을 같이 배포해야지 제대로 동작합니다.
여하튼 이러한 방법으로 Windows에서 Perl module을 설치하였습니다. 이제 잊어버릴 일은 없겠죠.^^ 설령 있더라도 이 문서가 살아있다면 쉽게 되살릴 수 있을 것입니다.
참조
http://community.activestate.com/forum-topic/install-crypt-ssleay-package
http://perlmonks.org/index.pl?node_id=735354
- Perl Regular Expression(정규표현식) 활용 예 (0)2009/01/17
- PAR Packager로 이글루스 백업 프로그램 실행파일... (2)2009/01/16
- 야후(yahoo) 파이프(pipes) 이야기 (2)2009/01/15
- Windows(윈도우)에서 Perl module(CPAN) 설치법 (2)2009/01/12
- UTF8 Perl 소스, 명령 프롬프트(cmd.exe)에서 한... (2)2009/01/10
- C에서 가변 배열(Variable-Length Array) (8)2008/03/22
- 정규표현식 |은 순서대로 매치 (2)2007/11/28
글에 잘못된 점, 다른 점, 부족한 점이 있다면 지적해주세요.
댓글, 트랙백, 메일 모두 고맙습니다.







댓글을 달아 주세요
관리자만 볼 수 있는 댓글입니다.
아... 제가 답댓글 다는 사이에 적으셨네요.
순간 놀랐습니다.^^:;OTL....
(이런 경우는 드물어서...)
오랜만에...도 아니지만 cpan 사용법을 거의 까먹었네요.OTL...
대체로 기본적으로는 없을 것입니다.
그러니 cpan에서 install Lingua::JA::TFIDF 라고 해보세요.
만약 안되면 2번 방법을 사용하시는 것을 권장합니다.