Disable PEAR
2019/02/01にDisable PEAR by defaultというプルリクが提出され、2019/02/11にマージされました。
commitからmerge日はどうすればわかるのだろう?
内容
Installation of PEAR (including PECL) is no longer enabled by default. It can be explicitly enabled using --with-pear. This option is deprecated and may be removed in the future.
PEAR(PECLを含む)は、デフォルトではインストールされなくなりました。
--with-pear
で明示的に有効にしなければなりません。
このオプションは非推奨であり、将来削除される可能性があります。
これまではPHPをインストールすると自動的にPEARも入ってきていましたが、PHP7.4以降は--with-pear
を明示しないかぎりインストールされなくなります。
また--with-pear
オプションも非推奨で、今後削除される可能性が有り、削除されるとPHPと一緒にPEARをインストールする方法がなくなります。
もちろんPEARが一切使用できなくなるわけではなく、PHPのインストール後にgo-pear.phar
などを使用して別途インストールすることは可能です。
Composerと同じように。
メーリングリスト
プルリクと一緒にメーリングリストで話が始まりました。
提案者のNikita PopovはPHPのコア開発者で、プロパティ型指定とかジェネレータとか作ってるすごい人で、最近JetBrainsに入りました。
そもそもPEARはもはやまともにメンテされておらず、2017/11/30リリースのPHP7.2で非推奨になったeachが削除されたのは、2018/08/23リリースのv1.10.6、create_functionに至っては2018/12/06です。
そんな長期間誰も気付かないほど誰も使ってないんだからもう要らんじゃろ、みたいなことをNikitaは言っていて、概ね同意のうえ10日後にマージされました。
プルリク者本人がマージするのはどうなんだって気がしないでもない。
PEARはともかくPECLがなくなるのは惜しいという意見はいくつかありましたが、個別に入れられますし、Pickleもあるので欲しい人には各自でやってもらいましょう。
RFC
Deprecate Bundling PEAR/PECL & Replace with composer/pickleというRFCがあるのですが、これは完全にスルーされています。
PEARの排除だけ、RFCも立たずにさっくりと行われました。
Composerのバンドルについては行うつもりはないようです。
感想
正直もうPEARは仕方ないよね。
先日のバックドアの件も、2019/01/19にシャットダウンしたサーバが復旧したのが2019/02/25で、公約してた後日の報告も2019/03/25時点で影も形もないとかいうね。
Recent Releasesを見てみると一応月に数本は更新されてはいるのですが、Composer全盛の今にあえてPEARを使う意義はほぼ感じられません。