僕の大好きなゆーすけべーさんがMojoliciousの記事を書いていたので、Mojoliciousを触ってみることに。
Mojolicious最速マスター - Qiita [キータ]
Mojoliciousをインストール
まずはインストールから。
Mojoliciousを使えるようにするにはCPANからインストールしてこないといけないんですが、
cpanm Mojolicious cpanm: コマンドが見つかりません
oh...
ということで、まずはcpanmを使えるようにしましょう!
git clone git://github.com/miyagawa/cpanminus.git cd cpanminus/ perl Makefile.PL Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 7. BEGIN failed--compilation aborted at Makefile.PL line 7.
(´;ω;`)ウッ…
今度はこのエラーを直していきます!
VPS 鯖に git いれたよ - ARCHIVESDRIVE HDのブログ様によると
yum install perl-ExtUtils-MakeMaker
をすれば通るようになるよ!とのこと。
perl Makefile.PL Generating bin/cpanm from cpanm Warning: prerequisite Module::Build 0.36 not found. Warning: prerequisite Test::More 0 not found. Writing Makefile for App::cpanminus
ま、また別のエラーが・・・(´;ω;`)ウッ…
今度はModule::Buildがねぇじゃねえか!って怒られたりしてるので、各モジュールを入れる作業・・・
sudo cpan sudo: cpan: コマンドが見つかりません
(゚д゚)
( ゚д゚)
色々とperl環境が整ってないことに気付いたりしてますが、cpanを入れていきましょう!
参考サイト:
CPANのインストールからモジュールのインストールするまでの簡単な流れ - ヘッポコからフルスタックを目指す記録
sudo yum install perl-CPAN.x86_64
インストールが終わったらModule::Buildとか入れていきましょう!
sudo cpan install Module::Build install Test::More [途中に色々と入力求められますが基本yesでOK]
よっしゃ!これでもっかいperl Makefile.PLや!
perl Makefile.PL Generating bin/cpanm from cpanm Writing Makefile for App::cpanminus
エラー出なくなった!
んじゃcpanmのインストールの続きをば。
make install cp lib/App/cpanminus/ParsePM.pm blib/lib/App/cpanminus/ParsePM.pm cp lib/App/cpanminus/CPANVersion.pm blib/lib/App/cpanminus/CPANVersion.pm cp lib/App/cpanminus/script.pm blib/lib/App/cpanminus/script.pm cp lib/App/cpanminus/Dependency.pm blib/lib/App/cpanminus/Dependency.pm cp lib/App/cpanminus.pm blib/lib/App/cpanminus.pm cp bin/cpanm blib/script/cpanm /usr/bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/cpanm Manifying blib/man1/cpanm.1 Manifying blib/man3/App::cpanminus.3pm !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ERROR: Can't create '/usr/local/bin' Do not have write permissions on '/usr/local/bin' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! at -e line 1 make: *** [pure_site_install] エラー 13
ファッ!?
・・・と思ったらsudoで実行していないせいですねw
sudo make install Installing /usr/local/share/perl5/App/cpanminus.pm Installing /usr/local/share/perl5/App/cpanminus/script.pm Installing /usr/local/share/perl5/App/cpanminus/ParsePM.pm Installing /usr/local/share/perl5/App/cpanminus/Dependency.pm Installing /usr/local/share/perl5/App/cpanminus/CPANVersion.pm Installing /usr/local/share/man/man1/cpanm.1 Installing /usr/local/share/man/man3/App::cpanminus.3pm Installing /usr/local/bin/cpanm Appending installation info to /usr/lib64/perl5/perllocal.pod
これでcpanmを叩いてみると・・・
cpanm Usage: cpanm [options] Module [...] Try `cpanm --help` or `man cpanm` for more options.
完 全 勝 利
やっとMojolicious入れる作業に戻れるよー(´;ω;`)ウッ…
cpanm Mojolicious ! ! Can't write to /usr/local/share/perl5 and /usr/local/bin: Installing modules to /home/hogehoge/perl5 ! To turn off this warning, you have to do one of the following: ! - run me as a root or with --sudo option (to install to /usr/local/share/perl5 and /usr/local/bin) ! - Configure local::lib your existing local::lib in this shell to set PERL_MM_OPT etc. ! - Install local::lib by running the following commands ! ! cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib) ! --> Working on Mojolicious Fetching http://www.cpan.org/authors/id/S/SR/SRI/Mojolicious-4.62.tar.gz ... OK Configuring Mojolicious-4.62 ... OK Building and testing Mojolicious-4.62 ... FAIL ! Installing Mojolicious failed. See /home/hogehoge/.cpanm/work/1387422897.2530/build.log for details. Retry with --force to force install it.
むむむ・・・ビルドとテストで落ちてる・・・
とりあえず--forceつけてやってみ?って書いてあるので言うとおりやってみることに。
cpanm --force Mojolicious ! ! Can't write to /usr/local/share/perl5 and /usr/local/bin: Installing modules to /home/bps/perl5 ! To turn off this warning, you have to do one of the following: ! - run me as a root or with --sudo option (to install to /usr/local/share/perl5 and /usr/local/bin) ! - Configure local::lib your existing local::lib in this shell to set PERL_MM_OPT etc. ! - Install local::lib by running the following commands ! ! cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib) ! --> Working on Mojolicious Fetching http://www.cpan.org/authors/id/S/SR/SRI/Mojolicious-4.62.tar.gz ... OK Configuring Mojolicious-4.62 ... OK Building and testing Mojolicious-4.62 ... FAIL ! Testing Mojolicious-4.62 failed but installing it anyway. Successfully installed Mojolicious-4.62 1 distribution installed
なんか無理矢理入れてくれた!w
という訳で、mojoコマンドを実行してみる!
mojo generate lite_app myapp.pl -bash: .mojo: コマンドが見つかりません
なんでー!(`;ω;´)
ここから試行錯誤すること1時間・・
そうか!さっきのcpanmでインストールした際にインストール先云々で怒られてた!
ってことで、/home/bps/perl5/binに$PATHが通ってるか確認したところ・・・
やっぱり通ってない・・・
ってことで、.bash_profileに$HOME/perl5/binを追加してみて実行してみることに。
mojo generate lite_app myapp.pl Can't locate Mojolicious/Commands.pm in @INC (@INC contains: /home/bps/perl5/bin/../lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /home/bps/perl5/bin/mojo line 9.
なんか怒られてる・・・
あれこれ考えてcpanm Mojoliciousのビルドログを読むことに。
Can't locate Time/HiRes.pm in @INC
なるほど!Time/HiRes.pmがないからダメなのね。
んじゃTime/HiRes.pmをインストールしよー
yum install perl-Time-HiRes
かーらーのー
cpanm Mojolicious --> Working on Mojolicious Fetching http://www.cpan.org/authors/id/S/SR/SRI/Mojolicious-4.63.tar.gz ... OK Configuring Mojolicious-4.63 ... OK Building and testing Mojolicious-4.63 ... OK Successfully installed Mojolicious-4.63 (upgraded from 4.62) 1 distribution installed
ヒャッハー!!
mojo generate lite_app myapp.pl [exist] /home/bps/Mojo [write] /home/bps/Mojo/myapp.pl [chmod] myapp.pl 744
ヒャッハッハー!!
というわけで無事Mojoliciousを使えるところまで完了・・・長かった・・・
長くなったので、次回Mojoliciousを使っていくよ!