Fork me on GitHub

2009/08/27

Recent entries from same category

  1. perldocのbash-completionが激しく便利でうれしょん出た。 Hatena
  2. Perl音痴な私がPerlを使っている理由 Hatena
  3. TatsumakiとDUI Streamを使って画像ストリーミングサーバ作ってみた。 Hatena
  4. のび太の物は俺の物。俺の物は俺の物。 Hatena
  5. Plackで高速サーバがWindowsでも動くようにした Hatena

はてな
この文章はperl.jonallen.info に掲載されていた記事の和訳です。意訳が含まれている可能性があります。間違いがあればご連絡下さい。
by Jon Allen (JJ) - posted on Wednesday, 26 August 2009

ここ2、3年にわたって、Perlでの開発はCatalystやDBIx::Class、Moose等のエキサイティングな新技術により変わってました。

しかしながら、これらや他のツールに共通して言える事が1つあります - それらはこれらがPerl本体の配布物ではなくCPANの一部という事です。共有ホスティングサーバなど信頼されている環境においては、ユーザはルート権限なしでCPANモジュールをシステムにインストールする事が難しいでしょう。 ただ幸い、単純解があります - それが local::lib です。


local::lib の紹介

local::lib は CPAN ディストリビューションをホームディレクトリににインストールできる様にあらゆる設定を行うPerlモジュールです。これはルート権限が必要ない事を意味していて、システムのPerlや他のユーザに干渉せずに確実にインストール出来る事を意味しています。

もちろん、local::lib それ自信も root 権限なしにインストール出来る為、システム管理者を苦しめる必要性は全くありません。


インストールウォークスルー

クリーンインストールされた Ubuntu 9.04 で local::lib 使用するデモンストレーションを行います。

まず最初にhttp://search.cpan.org/dist/local-libで最新版をダウンロードしデスクトップへ .tar.gz を保存します。

search.cpan.org   Downloading local::lib

次に、Terminalセッションを開いて、以下のコマンドを入力してアーカイブを解凍します:

cd Desktop
tar -zxf local-lib-1.004004.tar.gz
cd local-lib-1.004004

"bootstrap"にする事を local::lib に教えてあげる必要があります。これでホームディレクトリにperl5というフォルダが作成され local::lib をそこにインストールする様 toolchain に命令します。

perl Makefile.PL --bootstrap

Bootstrapping local::lib

インストールが自動的に構成される様に一度か二度尋ねられます。デフォルト値('yes')で良いのでただ単にEnterキーを叩きましょう。

Automatic CPAN configuration   CPAN config complete

設定が終了したら以下のコマンドを入力し local::lib をビルド、テスト、インストールして下さい:

make
make test
make install

Installing local::lib

もうちょっとです。残りは1工程です。インストールされたモジュールがどこに保存されるかを Perl に教えてあげる為に幾つかの環境変数を設定します。

echo 'eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)' >>~/.bashrc

Setting environment variables

全て完了です。実行していたターミナルウィンドウを全て閉じて、新しい設定が反映される様に、新しいTerminalセッションを開きましょう。


local::lib のテスト

ちゃんと動くか簡単なモジュールをインストールしてみましょう。新しいターミナルウィンドウを開き、CPAN シェルを起動します:

perl -MCPAN -eshell

CPAN プロンプトが開き、以下を入力します

install Acme::Time::Baby

Installing Acme::Time::Baby

モジュールをダウンロードしてビルド、テスト、インストールします - マニュアルを見ることもないでしょう。exit をタイプして CPAN シェルから抜けたら簡単なワンライナーでインストールされたモジュールをテスト出来ます:

perl -MAcme::Time::Baby -E 'say babytime'

Acme::Time::Baby installed!

CPAN を恐れるな

さて動作確認です。Catalyst をインストールしましょう。

Catalyst は多くのモジュールに依存した巨大なモジュールですが CPAN.pm でセットアップするので問題はありません。しかしながら初期状態では、CPAN シェルが依存を見付ける度にインストールすべきかどうか尋ねて来て、とても退屈になります。最初ですから自動的に依存に従う様 CPAN.pm に教えてあげます。

perl -MCPAN -eshell
o conf prerequisites_policy follow
o conf build_requires_install_policy yes
o conf commit

Setting CPAN.pm preferences

注意 それでも時折、モジュールがそれら自身の構成に依存した質問をして来るので何が起きるか目を光らせておくべきでしょう。

インストールを開始する準備が整いました。

install Catalyst::Devel

CPAN.pm が全ての Catalyst 依存モジュールをビルドしてくれます。少々時間が経って、以下のメッセージが出ていればインストール成功です:

FLORA/Catalyst-Devel-1.19.tar.gz
/usr/bin/make install -- OK

Catalyst installed!

ちゃんと動作しているかを検証するので CPAN シェルを終了して新しい Catalyst アプリケーションを作成しましょう。

~/perl5/bin/catalyst.pl MyApp
cd MyApp
perl Makefile.PL

Starting a new Catalyst application   Starting a new Catalyst application

注意 catalyst.pl スクリプトは ~/perl5/bin ディレクトリにあります - ここが local::lib の標準的なスクリプトインストール先です。

Catalystアプリケーションはスタンドアロンの開発用サーバを含んでいるので、簡単にアプリケーションを実行できます:

script/myapp_server.pl -r -d

Running the Catalyst development server   Catalyst server running

これで http://localhost:3000をブラウズすれば、光り輝くCatalystのテストページが表示されます!

The Catalyst test page!

Notes

  • いくつかの Perl モジュールは速度を向上やC言語のライブラリ関数と強調する為にC言語で書かれています。CPANの全てを使用するにはCコンパイラをマシンにインストールする必要があります。Linuxや他のUNIXシステムで大概Cコンパイラが既にインストールされていますが(which ccをタイプしてみましょう)、そうでない場合でもベンダは GCC パッケージを提供しているはずです。Macでは Xcode developer tools (OS XをDVDからインストール)をインストールすると必要な物は全て揃うでしょう。

  • 私がテストで使用しているシステム Ubuntu 9.04 は Perl 5 version 10.0 を含んでいます。以下のコマンドで Perl がどのバージョンかをチェックできます。

    perl -v

    Checking your Perl version

    もし Perl 5 のリリースよりも古い物、すなわち v5.8.9 以前のバージョンをお使いであれば、システム管理者かOSベンダーにアップグレードを求めるべきしょう。 Perl5 version 10.0 では smart matching、named regex captures、a switch statement や state variables といった多くの新機能が導入されています - http://perldoc.perl.org/perl5100delta.html を参照してと全ての新機能を確認して下さい。

  • インストール済みのモジュールを全て削除してやり直すのであれば、ローカルの ~/.cpan と ~/perl5 ディレクトリを削除するだけです:

    rm -rf ~/.cpan
    rm -rf ~/perl5

    そして ~/.bashrc を編集し以下の行を削除します:

    eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)

    以上に示した手順で local::lib がインストール出来ます。


blog comments powered by Disqus
WriteBacks

彼氏がほしい?彼 げっちゅ! 最速で彼氏 GET!簡単にもて女に変身 男をグイグイ引き寄せる、究極のもて女心理術 魔法の様な法則とは。。?

彼氏がほしい?彼氏欲しいなら彼げっちゅ! 驚愕の心理術を使って、最速で彼氏をGET出来る方法とは一体・・
もて女になる 秘密を惜しげもなく 完全暴露!
男がグングン 引き寄せられる 悪用厳禁のテクニック
あまりにも あっさり 彼氏をGETしてしまう 驚愕の心理術とは?

Posted by 彼氏がほしい?彼 げっちゅ!無料! at 2009/09/01 (Tue) 13:20:09

とても参考になりました

細かいところですが、
echo 'eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib) >>~/.bashrc
のところ、後ろのシングルクォートが抜けてますね。
コピペしたらハマりました。

Posted by xaicron at 2009/09/07 (Mon) 22:29:21

Re: とても参考になりました

ありがとうございます。修正しました。

Posted by mattn at 2009/09/08 (Tue) 00:03:20

花太郎 ビデオ

花太郎 ビデオ

Posted by 花太郎 ビデオ at 2009/10/14 (Wed) 02:47:44

TrackBack ping me at
Post a comment

writeback message: Ready to post a comment.