MovableType9 デベロッパープレビューのインストール失敗→成功

先週ついに、Movable Type 9のデベロッパープレビューが公開されましたね。

管理画面のインタフェースの改善やリッチテキストエディタがTinyMCEからTiptapに変更など、さわってみたい機能がたくさん!

さっそくダウンロードして、いつも使ってる開発用のレンタルサーバ(エックスサーバ)にインストールしようとしたら、まさかの。。。

インストールできない。。

ダウンロードしたファイル達を早速、開発サーバにアップ。
FTPアップなので少し時間がかかりますが、その間にサーバのコンパネでDBの追加とサブドメイン追加などの作業をしつつアップロードの完了を待ちます。

そして、アップ完了したので、.cgiファイルのパーミッションを変更して、いざ「ようこそ画面」にアクセス!

うん、この画面はMT7から変わりないですねw
そういえば、オンラインドキュメントのリンク、昔からblankにして欲しいなって思ってます。

MT8も動かしてるサーバですば、一応 mt-check.cgi も確認しておくかということで、

必須モジュールも大丈夫そう、ということでようこそ画面の「Movale Type にサインイン」クリック!

あれ?

真っ黒の画面(ダークモードなので)に
Got an error: "uniq" is not exported by the List::Util module
Can't continue after import errors
の文字が。。。

ほぼ見たことがない画面だなーと思いながら、List::Util は mt-check.cgi でもインストールされてるってなってたしなー
uniqってなんだ?っとなり、そこから色々と小一時間ほど検証と調査。想定外w

Perl 5.16 はダメっぽい

「uniq」は List::Util で使える関数の一つで、List::Util のバージョン1.46以降でしか利用できない関数でした。

List::Util はPerl本体に同梱されているモジュールのようで、基本的にPerl本体のバージョンを上げると List::Util のバージョンも上がるようです。

Perl 5.26以降だと List::Util 1.46 になるようなので、このようなエラーは発生しないと思います。

今回のようにレンタルサーバだと通常、利用者側でPerlのバージョンを上げることは基本的にできません。。
なので、クライアントによってはMTのバージョンアップの時にサーバ移転からしないとダメかもしれないですねー
それかMTクラウドに移設ですね。

それでもインストールしてみた

以下、自己責任になると思いますので、ご注意ください。
決して、クライアントの公開サーバなどではやらないでくださいね。

「uniq」を調べていた時ににたどり着いたのですが、List::MoreUtils というモジュールで「uniq」が使えるようになるようでした。
Perl 5.26未満でuniqを使いたい場合にインストールするモジュールのようです。

早速、MoreUtils をダウンロードし、mt本体内の「extlib」ディレクトリに
「MoreUtils」ディレクトリと「MoreUtils.pm」をアップロード。

MTでperlのモジュールを別途利用したい場合「extlib」ディレクトリに入れておくと、MTは認識してくれます。

これで「uniq」は使えるようにはなったのですが、MTは List::Util で使おうするので、このままでは同じエラーになります。

そこで、「/lib/MT/App/CMS.pm」の該当箇所を編集します。

use List::Util qw( uniq );
 ↓
use List::MoreUtils qw( uniq );

これで List::MoreUtils の「uniq」を使うようになりましたので、再び「Movable Type にサインイン」

ようやく、言語選択、各パス設定画面が出てくれました!

ここからは特に問題もなく順調に画面を進めていき、

ついにダッシュボードに到達!
ちょっと無理やり動かしてる感はありますが、管理画面内の遷移ではいまのところ特に問題はなさそうです。

これからやっと触れる感じなので、案件の合間に触っていき、また何か書きたいと思ってます。

それではまた!

前へ

クライアント要望のカスタムブロック「余白」を実装