|
|
Perl 하면 CPAN 이고, CPAN 하면 Perl 이라고 합니다.
Perl 의 CPAN 의존도가 높고, 어떤 이는 Perl 은 CPAN 을 쓰기 위한 툴이라는 얘기까지 할 정도니까요.
서론은 잠시 제껴놓고, 최근 이런 CPAN 계에 큰 혜성이 등장했습니다.
cpanm 이 그것입니다.
CPAN 도 그렇고 CPANPLUS 도 좀 그렇다 (덩치/유지보수의 어려움 등) 해서 태어난 것이 cpanm 입니다.
cpanm 을 위해서 고작 8M정도의 메모리만 필요하다니 초경량인 셈이지요.
사용하기 위해서는 CPAN 이고 뭐고 그냥 커맨드 하나 달랑 받아오면 되는 것입니다.
wget http://xrl.us/cpanm
다운받아서 실행권한주고 적당한 툴이 모여있는 디렉토리로 옮겨줍니다.
그래도 굳이 cpan 을 써서 인스톨 하겠다 하신다면... App::cpanminus 를 설치하면 cpanm 이라는 커맨드를 사용할 수 있습니다.
기존에 local::lib 을 사용하고 있다면 자동으로 local::lib 디렉토리에 맞춰줍니다.
그렇지 않으면 홈디렉토리에 기본으로 ~/perl5 라는 디렉토리를 생성하고 거기에 모듈들을 인스톨해갑니다.
(.modulebuildrc 에 기재된 대로..)
사용법은 그냥 cpanm [모듈이름] 만 하면 땡입니다.
CPAN 과는 달리 의존모듈 설치시에 물어보지 않고 알아서 다 깔아줍니다.
뿐만아니라 버젼을 지정해서 설치가 가능하거나, 인터넷상이나 로컬 디렉토리 안의 특정 tar.gz 로 된 배포판을 지정해도
자동으로 설치가 가능합니다.
github 등에서 개발하고 있는 어떤 모듈들이 있다면 cpanm 으로 github 안에 작업중인 배포판만 지정해주면 되니,
git clone(or wget -> tar zxvf [...] -> cd [...]) -> Makefile.PL -> make -> make test -> make install
이것이 cpanm 한방으로 끝난다는 얘기지요.
그리고 cpanm은 여러가지 plugin 들을 사용할 수 있습니다.
현재 기본적인 사용으로는 꺼논 상태이지만..
홈디렉토리 안의 .cpanm/plugins/ 에 플러그인을 집어넣고,
PERL_CPANM_DEV 환경변수를 설정해주면 됩니다.
growl 플러그인을 사용하면 모듈 설치가 끝나거나 에러가 났을 경우에 Growl 이 알려주기 때문에...
계속해서 터미널을 쳐다보고 있을 필요도 없겠죠 :-) (거기에 의존모듈 설치의향같은 건 물어보지 않으니까요)
아래의 github 페이지에 자세한 내용이 나와있으니 한번 훑어보세요. 플러그인도 여기에서 받을 수 있습니다.
** 추기
cpanm 의 초기설정에 대한 자세한 설명은 aero 님의 블로그에도 잘 설명되어 있습니다. @aer0++
** 추기2
App::cpanoutdated 를 사용하면 현재 설치된 CPAN 모듈들의 새로운 버젼이 있는지에 대한 체크가 가능합니다. cpan-outdated 커맨드를 이용해서 새로운 버젼의 모듈들의 이름을 알 수 있고, 이것을 cpanm 으로 넘기면 모든 낡은 CPAN 모듈들을 한방에 새로운 버젼으로 업데이트할 수 있게 됩니다.
cpan-outdated | cpanm