生涯未熟

プログラミングをちょこちょこと。

Mojoliciousを使ってみるよ!

僕の大好きなゆーすけべーさんが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を使っていくよ!




Perlについて語ろう
Perlについて語ろう
posted with amazlet at 13.12.21
和田裕介 (2013-03-13)
売り上げランキング: 6,614