cpanmでperlのモジュールをインストールしようとすると“Attempt to reload”
のエラーが出るようになってしまいました。
# cpanm -f -l /tools/perl5-module Class::Load.pm Attempt to reload Scalar/Util.pm aborted. Compilation failed in require at /usr/share/perl5/vendor_perl/File/Temp.pm line 17. BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/File/Temp.pm line 17. Compilation failed in require at /loader/0xb35ca8/App/cpanminus/script.pm line 1. BEGIN failed--compilation aborted at /loader/0xb35ca8/App/cpanminus/script.pm line 1. Compilation failed in require at /bin/cpanm line 429. BEGIN failed--compilation aborted at /bin/cpanm line 429.
エラーメッセージの意味を調べると下記のようにありました。
http://perldoc.jp/docs/perl/5.10.0/perldiag.pod
Attempt to reload %s aborted. (F) 既に一度コンパイルに失敗しているファイルを use や require で 読み込もうとしました。 Perl は %INC からこのファイルのエントリを削除する まで再びファイルを コンパイルしようとはしません。 "require" in perlfunc と "%INC" in perlvar を参照してください。
エラーメッセージ中のTemp.pm line 17ではuseで読み込もうとしています。
$ less -N /usr/share/perl5/vendor_perl/File/Temp.pm 17 use Scalar::Util 'refaddr';
Scalar/Util.pmはここにありました
$ find /tools/ -name Util.pm|grep Scalar /tools/perl5-module/lib/perl5/x86_64-linux-thread-multi/Scalar/Util.pm
エラーメッセージ中にある「このファイルのエントリを削除するまで」の「このファイル」とは
なにを指すのでしょうか。
「"require" in perlfunc と "%INC" in perlvar を参照してください。」の意味が
わからず困っています。
ご教示いただけると助かります。よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/28 02:33