PEAR和Composer有什么区别?

时间:2015-12-10 10:44:11

标签: php package composer-php pear

PEAR用于安装PHP软件包,Composer用于同一件事。我相信Composer能更好地处理依赖关系,但这是唯一的区别吗?任何人都可以解释这两个包管理器之间的区别并告诉我何时使用哪个?

1 个答案:

答案 0 :(得分:38)

将PEAR视为弃用可能有点不久,但我认为它不会花很长时间。 Composer正在蓬勃发展并成熟,拥有大量的软件包和积极的开发。因此,在PHP中使用Composer作为the standard for package管理工具可能更好。

使用PEAR对于软件包维护者来说更麻烦。因此,PEAR上的很多代码已经过时了。开发人员需要在PEAR上发布包之前对其进行“PEAR审核”,因此与包available in Composer的数量相比,可用的包很少。此外,没有办法在PEAR中为一个项目安装包。所有包都是全局安装的。使用Composer,您可以在全局范围内基于每个项目安装一个包。好吧,然后PEAR缺乏依赖管理,坦率地说应该是包管理器做得好的一件事。

可以使用PEAR而不是使用Composer的一件事就是安装PECL extensions。但是pickle使用Composer并允许您在composer.json文件中定义本机PHP扩展依赖项。泡菜项目暂时经历了一些发展,不应该被认为是成熟的。

Fabien Potencier的{p> This blog post可能有些自以为是,但我认为这是对的。如果您有选择,请选择Composer,以便PEAR可以安心地死去。即使你ask the PEAR maintainers大多数人会告诉你Composer是前进的方向,尽管有些人可能仍然希望Pyrus。 (这本来是为了改进PEAR,但是在Composer爆炸式增长的情况下被埋没了。)

顺便说一下,您也可以使用Composer安装PEAR包,请参阅the Composer documentation

另见:
[1] Informative slide deck about PHP package management