!!!技術的雑談-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}} [[技術的雑談]]へ戻る