블로그 이미지
JEEN

서울에 사는 꽃청년의 IT찌질모험기

Rss feed Tistory
IT/Perl 2010.03.07 13:19

[Perl/CPAN] cpanm 이 당신의 Perl 생활을 윤택하게 해드립니다

  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

신고
, , ,
TOTAL 487,957 TODAY 46

티스토리 툴바