古い記事
ランダムジャンプ
新しい記事
自分用メモ。

私が個人用に使っているさくらの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 でやることにした。

参考:

手順:
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 スクリプト内には下記を。
なるべく上の方に。
use lib qw(/home/XXX/perl5/lib/perl5/);