まるまるこふこふ

数々の次元が崩壊し、全ての生命が塵と化すのを見てきた。私ほどの闇の心の持ち主でも、そこには何の喜びも無かった。

CentOSで初めてのCPANモジュールインストール

CentOS6 に Net::Twitterモジュールをインストールしようと思ったら、
色々ハマったので、メモ書き程度に対処方法を記録する。

最初に

CPANモジュールのインストール方法には大きく分けて3つある。

1. yum install
2. perl -MCPAN -e shell
3. cpan2rpm

パッケージ化されているモジュールなら yum するのが一番手っ取り早い。
ただ Net::Twitter モジュールはパッケージ化されていなかったので
2のCPANモジュールから対話していく事にした。

CPANモジュールに必要なものをインストール

CPANモジュールはYAMLに依存しているので、YAMLがないと動かない。

$ yum install libyaml-devel

gcc をインストール。

$ yum install gcc

ssl 関係のライブラリをインストール

Net::Twitter は Net::SSLeay に依存しているのですが、
CentOSはデフォルトでは Net::SSLeay が使う ssl 関係のライブラリが
インストールされていないので入れます。

$ yum install openssl-devel zlib-devel readline-devel 

広大な依存関係モジュールの旅へ

Net::Twitter モジュールは本当にたくさんのモジュールに依存しています。
Moose も使ってるのでたくさんのモジュールに依存しています。

いよいよ Net::Twitter をインストールするわけですが、
CPANで install しようとするといちいち

Shall I follow them and prepend them to the queue
of modules we are processing right now? [yes]

※依存関係モジュールもインストールしていい?

みたいな事を聞いてくるわけでして、これが依存先のモジュール、依存先のモジュールが依存する先のモジュール、依存先のモジュールが……

みたいな調子で聞いてきてクソ面倒なので、自動で yes と答えるように設定しておきます。

$ perl -MCPAN -e shell

# 自動で yes と答える
cpan[1]>  o conf prerequisites_policy follow
    prerequisites_policy [follow]
Please use 'o conf commit' to make the config permanent!

# コミット
cpan[2]> o conf commit
commit: wrote '/etc/perl/CPAN/Config.pm'

# インストール
cpan[3]> install Net::Twitter

あとはほっとくだけでインストール完了。

おしまい。