まず、何が起こってるのか把握できていなかったので、何が起こっているかの把握から始めよう。
因みにココにあるように、次のように yes ''とCPANによるインストールをパイプでつなぐことでCPANモジュールのインストール時の質問に対する答えをデフォルトにすることができる。
# yes '' | perl -MCPAN -e 'install MODULE_NAME'
で、問題のCatalystをインストール!!!
# yes '' | perl -MCPAN -e 'install Task::Catalyst' >& log.txt
# less log.txt
エラーっぽいところを探す。
/bin/sh: gcc: command not found
(;゜Д゜) gccがないって・・・。
は、はずかしい・・・。で、早速、インストール。
# yum install gcc
ログを見ると、Catalystが依存しているCPANモジュールが足りていないように見える。足りないモジュールは、Catalystのインストール時にインストールしてるっぽいが、毎回インストールするのもバカバカしいのでインストールしておく。
---- Unsatisfied dependencies detected during [S/SM/SMUELLER/PAR-0.977.tar.gz] -----
Compress::Zlib
Archive::Zip
---- Unsatisfied dependencies detected during [P/PM/PMQS/Compress-Zlib-2.008.tar.gz] -----
IO::Uncompress::Gunzip
IO::Compress::Gzip
Compress::Raw::Zlib
IO::Compress::Gzip::Constants
# yes '' | prel -MCPAN -e 'install Compress::Zlib'
あれ?なぜかインストールに失敗する。ググッたら、こんなのが出てきた。
なんかshellを起動する必要があるらしい。shellを起動してインストールしてみる。
# perl -MCPAN -e shell
cpan> install Compress::Zlib
今度は出来た。どういうときにshellを起動して、どういうときにshellを起動しないでもインストールできるかは、よく分からなかった。
さっきのページに"The first thing you should do is upgrade your CPAN: (最初にCPANをアップグレードする必要がある)"って書いてあったから、この機会にアップグレードしておこう。
cpan> install Bundle::CPAN
Do you want to modify/update your configuration (y|n) ? [no] y
Do you want me to perform hostname lookups (y|n) ? [yes] n
Enter a list of available NNTP hosts : []
Enter a list of available SMTP hosts : []
Enter a list of available POP3 hosts : []
Enter a list of available SNPP hosts : []
Enter a list of available PH Hosts : []
Enter a list of available TIME Hosts : []
Enter a list of available DAYTIME Hosts : []
(y|n) ? [no]
Should all FTP connections be passive (y|n) ? [yes]
What is your local internet domain name : []
Do you want me to run these tests (y|n) ? [yes]
What host can I use : []
Enter arithmetic or Perl expression: exit
なんか、コレって自分のサーバをCPANモジュールを配布するように設定してるんじゃないか??
cpan> reload cpan
..............................................................................Missing right curly or square bracket at (eval 291) line 3441, at end of line
syntax error at (eval 291) line 3441, at EOF
78 subroutines redefined
なんか、失敗したっぽい。やばい。全然分かんない。
まぁ、いいや。引き続きCatalystが依存しているモジュールのインストールを進めよう。
# perl -MCPAN -e shell
cpan> install Archive::Zip
Archive::Zip is up to date.
cpan> install IO::Uncompress::Gunzip
IO::Uncompress::Gunzip is up to date.
cpan> install IO::Compress::Gzip
IO::Compress::Gzip is up to date.
cpan> install Compress::Raw::Zlib
Compress::Raw::Zlib is up to date.
cpan> install IO::Compress::Gzip::Constants
IO::Compress::Gzip::Constants is up to date.
あれ?全部最新だ。さっきCompress::ZlibをインストールしたときにArchive::Zip, IO::Uncompress::Gunzip, IO::Compress::Gzip, Compress::Raw::Zlib, IO::Compress::Gzip::Constantsもインストールされたのかな?
それから、CPANモジュールをアップグレードしたら、shellのcpanの横に[]で数字が付くようになった。おおっ!!
もう一回、Catalystのインストールコマンドを発行。
# yes '' | perl -MCPAN -e 'install Task::Catalyst' >& log.txt
# less log.txt
足りないモジュールをインストールしようとしたが、エラーが出てインストールできない。でも、...missingになってるモジュールをインストールしないことには、Catalystのインストールは出来なそうだ。
cpan> install HTTP::Request::AsCGI
cpan> install Catalyst::Plugin::HTML::Widget
cpan> install Catalyst::Plugin::StackTrace
cpan> install Catalyst::Plugin::Session::Store::File
cpan> install Catalyst::Plugin::Session::State::URI
cpan> install Catalyst::Plugin::Authentication
cpan> install Catalyst::Plugin::Authentication::Store::DBIC
cpan> install Catalyst::Plugin::Authentication::Store::Htpasswd
cpan> install Catalyst::Plugin::I18N
cpan> install Catalyst::View::TT
...missingなモジュールを順を追って何とかインストールしたけど、次の2つのモジュールだけは、どうしてもインストールできない。
Catalyst::Controller::FormBuilder
Test::WWW::Mechanize::Catalyst
Catalyst::Controller::FormBuilderは、
t/01-basic...........Can't locate Test/WWW/Mechanize/Catalyst.pm
と言い、Test::WWW::Mechanize::Catalystは、
cpan[41]> install Test::WWW::Mechanize::Catalyst
Running install for module 'Test::WWW::Mechanize::Catalyst'
Running make for L/LB/LBROCARD/Test-WWW-Mechanize-Catalyst-0.41.tar.gz
Has already been unwrapped into directory /root/.cpan/build/Test-WWW-Mechanize-Catalyst-0.41-tuVChx
Has already been made
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/auth-test...............[debug] Debug messages enabled
[debug] Statistics enabled
[debug] Loaded dispatcher "Catalyst::Dispatcher"
[debug] Loaded engine "Catalyst::Engine::CGI"
[debug] Couldn't find home
[debug] Loaded Private actions:
と言っていたので、Test::WWW::Mechanize::Catalystを先にインストールする必要があるなと思った。
"[debug] Couldn't find home"でググるとこんなページが出て来た。
とりあえず、ページに書いてあるPerl module toolchain versionを最新のものにした。
cpan> install ExtUtils::Command
cpan> install ExtUtils::Install
cpan> install ExtUtils::ParseXS
cpan> install Module::Signature
それでも、ダメ・・・。また明日続きをやろう。
【参考】
0 件のコメント:
コメントを投稿