Movable Type 6.2で「Can't locate parent.pm~」というエラーになったときの対処
小粋空間 » » Movable Type 6.2で「Can't locate parent.pm~」というエラーになったときの対処
Movable Type 6.2で「Can't locate parent.pm~」というエラーになったときの対処を紹介します。
1.問題点
Movable Type 6.2をインストールしようと思い、ウィザードを起動しようとしたところ、「Can't locate parent.pm in @INC (@INC contains: ~)」というエラーが表示されました。
ということで、原因と対処を紹介します。
2.原因
原因はメッセージの通り、Movable Typeで利用するparent.pmが存在しないためです。
ちなみにMT6.1.1までこのエラーは発生していませんでした。
調べてみたところ、Loupeプラグインのextlibにparent.pmが同梱されており、6.2でこのプラグインがなくなったのが原因ようです(ただし6.1.xではこのプラグインがなくてもエラーは発生しない模様)。
もう少し言うと、この事象になるのはPerl5.8系のみです。
5.8系はparent.pmが標準モジュールではないためです。
このエラーになったのは私のPerl環境が古い(5.8.8)ためのようです。
5.9以降であればこのエラーは発生しないと思われます。
3.対処方法
ということでMT6.1.xからのアップグレードであれば、Loupeプラグインを引き継げば解消します。
新規でMT6.2をインストールするとparent.pmがない環境ではエラーになるため、CPANで公開されているparent.pmをインストールする必要があります。
インストール方法については、以前エントリーした「Perlで「Can't locate parent.pm」が発生する場合の対処」などをご覧ください。
parent.pmを直接MTにインストールする場合、parent.pmはMTのextlibフォルダ直下にアップロードするとよいでしょう。
ただしこの方法ではMTのアップグレードでparent.pmがなくなる可能性があるので気をつけましょう。