トップ 一覧 検索 ヘルプ RSS ログイン

技術的雑談-AutoLoaderを使用しているperl moduleを手動でInstallするの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!技術的雑談-AutoLoaderを使用しているperl moduleを手動でInstallする

!!環境
*とりあえずperl5系が動けばOKだと思う。
*確認はCentOS4.3環境

!!現象
*perl module(.pm)を手動でInstallしたとき、以下のようなError messageが出る。

 Can't locate auto/xxxx/xxxxx/xxxxxxx in @INC (@INC contains:〜
 (先頭に「auto」が付いているのがポイント)

!!原因
perl moduleの中には「AutoLoader」というperl moduleを使い、moduleの必要な部分を必要になった時にロードするものがある。
perl moduleの手動Installを行うと、AutoLoader用のファイル分割がされないままになっている事があり、AutoLoaderでエラーになる。

!!対処
サーバにログインし、以下のコマンドを実行する。

 perl -e 'use AutoSplit; autosplit($ARGV[0], $ARGV[1], 0, 1, 1)' xxxxxxx.pm yyyy/zzzz/auto

:xxxxxxx.pm:AutoLoaderで分割する元のperl module
:yyyy/zzzz/auto:分割されたファイルを配置するディレクトリ。最後は「/auto」で終わる事。

!!履歴
2006/10/24 -- 初版

[[技術的雑談]]へ戻る

!!突っ込み
*参考にさせて頂きました。Can't find 'package Name;' in ファイル名.pmとなり、ハマっていたのですが、まさかパッケージ名を付けていない事が原因だったとは・・w auto/以下に出来るファイルは、通常通り(useで呼ぶためにlib/をパスに通せばよいのですかね・・?)呼べば良いのでしょうか。ちょっとやってみます - たった (2010年03月25日 15時17分29秒)
{{comment}}

[[技術的雑談]]へ戻る

{{trackback}}

[[技術的雑談]]へ戻る