PEAR用于安装PHP软件包,Composer用于安装相同的软件包。我相信Composer可以更好地处理依赖关系,但这是唯一的区别吗?有人能解释一下这两个包管理器之间的区别吗?并告诉我什么时候使用哪个?
认为PEAR被弃用可能有点为时过早,但我相信它不会花很长时间。Composer正在蓬勃发展,成熟,有很多包和积极的开发。因此,最好使用Composer作为PHP中包管理工具的标准。
对于包维护人员来说,使用PEAR更麻烦。因此,PEAR上的许多代码都已经过时了。在发布到PEAR上之前,开发人员需要对它的包进行"PEAR审查",因此与Composer中可用的包数量相比,可用的包很少。此外,没有办法在PEAR中为单个项目安装一个包。所有软件包都是全局安装的。使用Composer,您可以在或全局的基础上为每个项目安装一个包。然后,PEAR中缺乏依赖性管理,坦率地说,这应该是包管理器做得很好的一件事。
可以用PEAR而不是Composer做的一件事是安装PECL扩展。然而,有一个pickle使用Composer,并允许您在composer.json
文件中定义本机PHP扩展依赖项。泡菜项目目前正在进行一些开发,还不应该被认为是成熟的。
Fabien Potencier的这篇博客文章可能有点固执己见,但我认为这是非常正确的。如果你有一个选择,选择作曲家,这样PEAR就可以平静地死去。即使你问PEAR的维护人员,大多数人也会告诉你Composer是前进的方向,尽管有些人可能仍然对Pyrus抱有希望。(这本打算对PEAR进行改进,但却被Composer的火爆所掩盖。)
顺便说一句,您也可以使用Composer来安装PEAR包,请参阅Composer文档。
另请参阅:
[1] 关于PHP包管理的信息幻灯片