PEAR用于安装PHP软件包,Composer用于同样的事情.我相信Composer能更好地处理依赖关系,但这是唯一的区别吗?任何人都可以解释这两个包管理器之间的区别并告诉我何时使用哪个?
将PEAR视为弃用可能有点不久,但我认为它不会花费很长时间.Composer正在蓬勃发展并成熟,拥有大量的软件包和积极的开发.因此,最好使用Composer作为PHP中包管理工具的标准.
使用PEAR对于包维护者来说更麻烦.因此,PEAR上的很多代码已经过时了.开发人员需要在PEAR上发布包之前对其进行"PEAR审核",因此与Composer中可用的包数相比,可用的包很少.此外,没有办法在PEAR中为一个项目安装包.所有包都是全局安装的.使用Composer,您可以按项目或全局安装软件包.好吧,然后PEAR缺乏依赖管理,坦率地说应该是包管理器做得好的一件事.
使用PEAR而不是使用Composer 可以做的一件事是安装PECL扩展.然而,有一个使用Composer的pickle,允许您在composer.json
文件中定义本机PHP扩展依赖项.泡菜项目暂时经历了一些发展,不应该被认为是成熟的.
Fabien Potencier撰写的这篇博文可能有些自以为是,但我认为这是非常正确的.如果您有选择,请选择Composer,以便PEAR可以安心地死去.即使你问PEAR维护者,大多数人都会告诉你Composer是前进的方向,尽管有些人可能仍然希望Pyrus.(这是为了改进PEAR,但是在Composer爆炸式增长的情况下被埋没了.)
顺便说一下,您也可以使用Composer来安装PEAR包,请参阅Composer文档.
另请参阅:
[1] 关于PHP包管理的信息性幻灯片