今さらながら cpanm で Perl モジュール管理
2016-10-20-2
[Programming][Perl]
自分用メモ。
私が個人用に使っているさくらの500円サーバに Net::Twitter を入れようとした。
500円サーバは安いんだけどルート権限が無いのでローカルディレクトリにインストールする。
いつもやっている手順。
しかし、エラーが出てうまくいかない。
Module::Runtime 0.014 が必要だが 0.013 しかないと言って進まない。
実際はあるんだけど、どうやら違うパスを見ている?
"install Module::Build::Tiny" をやってみるとこんなエラーが。
"/usr/local" に書き込もうとしている。
ルート権限が無いからローカルにインストールしてるというのになんてことしやがるんだ!?
ということで今さらながら、 cpanm でやることにした。
参考:
手順:
".zshrc" に以下を追加。
で、目的のものを入れてみる。
無事にインストール成功。
よかった!
あとはここを参考にしながらいろいろやってます。
そうそう、Perl スクリプト内には下記を。
なるべく上の方に。
私が個人用に使っているさくらの500円サーバに Net::Twitter を入れようとした。
500円サーバは安いんだけどルート権限が無いのでローカルディレクトリにインストールする。
いつもやっている手順。
perl -MCPAN -e shell o conf makepl_arg "LIB=~/lib/perl PREFIX=~/lib/perl INSTALLMAN1DIR=~/lib/perl/man/man1 INSTALLMAN3DIR=~/lib/perl/man/man3" o conf commit install Net::Twitter
しかし、エラーが出てうまくいかない。
Failed during this command: ETHER/Moose-2.1806.tar.gz : make_test NO DOY/Data-Visitor-0.30.tar.gz : make_test NO LEONT/Module-Build-Tiny-0.039.tar.gz : install NO ETHER/MooseX-Role-WithOverloading-0.17.tar.gz: make_test NO ETHER/MooseX-Role-Parameterized-1.09.tar.gz : make_test NO MMIMS/Net-Twitter-4.01020.tar.gz : make_test NO
Module::Runtime 0.014 が必要だが 0.013 しかないと言って進まない。
実際はあるんだけど、どうやら違うパスを見ている?
"install Module::Build::Tiny" をやってみるとこんなエラーが。
"/usr/local" に書き込もうとしている。
ルート権限が無いからローカルにインストールしてるというのになんてことしやがるんだ!?
ERROR: Can't create '/usr/local/perl/5.8/lib/perl5/site_perl/5.8/Module/Build' Do not have write permissions on '/usr/local/perl/5.8/lib/perl5/site_perl/5.8/Module/Build'
ということで今さらながら、 cpanm でやることにした。
参考:
- cpanmによるローカル環境構築 / 開発環境構築 - サンプルコードPerl入門
http://d.hatena.ne.jp/perlcodesample/20101027/1278596435 - Dreamhost - kraih/mojo Wiki - GitHub
https://github.com/kraih/mojo/wiki/Dreamhost
手順:
curl -L http://cpanmin.us | perl - App::cpanminus $HOME/perl5/bin/cpanm local::lib
".zshrc" に以下を追加。
export PERL_CPANM_OPT="--local-lib=~/perl5" export PATH=$HOME/perl5/bin:$PATH; export PERL5LIB=$HOME/perl5/lib/perl5:$PERL5LIB;
で、目的のものを入れてみる。
cpanm Net::Twitter
無事にインストール成功。
よかった!
あとはここを参考にしながらいろいろやってます。
- PerlでTwitterアプリ開発の導入メモ - Net::Twitter - ろば電子が詰まっている
http://d.hatena.ne.jp/ozuma/20121230/1356801529
そうそう、Perl スクリプト内には下記を。
なるべく上の方に。
use lib qw(/home/XXX/perl5/lib/perl5/);