- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!技術的雑談-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}}
[[技術的雑談]]へ戻る