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
あとはほっとくだけでインストール完了。
おしまい。