2017年12月6日水曜日

composer の更新

mediawiki のいくつかの拡張は composer を使用している。composer が何者かあまり意識してなかったけど、PHP のパッケージ管理ツールということらしい。

composer がどういう状態になっているかサーバを確認してみると mediawiki のホームディレクトリにインストールされていた。

まずはインストールされているパッケージの一覧を確認してみる。 composer show -i で確認できるとのことだ。PHP 自体が scl の管理下にあるのでコマンドラインが長い。

$ sudo -u apache scl enable rh-php56 -- php composer.phar show -i
Warning: This development build of composer is over 60 days old. It is recommended to update it by running "composer.phar self-update" to get the latest version.


パッケージの一覧は確認できたが warning も表示された。composer がちょっと古いらしい。

composer のバージョンは -V で確認できる。

$ scl enable rh-php56 -- php composer.phar -V
Warning: This development build of composer is over 60 days old. It is recommended to update it by running "composer.phar self-update" to get the latest version.
Composer version 1.2-dev (f0f932fca403267a141e91f9262ab649b95b2ed9) 2016-09-10 10:52:23


なるほど。

調べると composer の現行バージョンは 1.5.5 だったが、いきなりあげて動かなくなったら困るので 1.2 系列の最終バージョンで様子を見ることにした。特定バージョンに更新するには self-update のあとにバージョンを指定すれば良いらしい。

$ sudo -u apache scl enable rh-php56 -- php composer.phar self-update 1.2.4
Updating to version 1.2.4 (stable channel).
    Downloading: 100%
Use composer self-update --rollback to return to version f0f932fca403267a141e91f9262ab649b95b2ed9


パッケージ更新前に --dry-run で更新対象パッケージとバージョンを確認しておく。

$ sudo -u apache scl enable rh-php56 -- php composer.phar --dry-run update

で、バージョン確認後、問題なさそうなので更新。

$ sudo -u apache scl enable rh-php56 -- php composer.phar update

幸いサーバにはトラブルなかった模様。