PEAR和Composer有什么区别?

2022-08-30 10:02:54

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


答案 1

将PEAR视为已弃用可能很快就会到来,但我不相信它需要很长时间才能被弃用。Composer正在蓬勃发展和成熟,有很多软件包和积极的开发。因此,最好使用 Composer 作为 PHP 中管理工具的标准。

对于包维护者来说,使用PEAR更加麻烦。因此,PEAR上的许多代码已经过时了。开发人员需要先让它的包“PEAR审查”,然后才能在PEAR上发布,因此与Composer中可用的包数量相比,可用的包很少。此外,无法在 PEAR 中为单个项目安装软件包。所有软件包都是全局安装的。使用 Composer,您可以按项目全局安装一个包。好吧,然后是PEAR中缺乏依赖管理,坦率地说,这应该是包管理器擅长的一件事。

你可以用PEAR而不是Composer做一件事就是安装PECL扩展。但是,有一些pickle使用Composer,并允许您在文件中定义本机PHP扩展依赖项。泡菜项目正在暂时进行相当多的发展,还不应该被认为是成熟的。composer.json

Fabien Potencier的这篇博客文章可能有点固执己见,但我认为这是非常正确的。如果你有一个选择,选择作曲家,这样PEAR就可以安心地死去。即使你问PEAR维护者,大多数人也会告诉你,Composer是前进的方向,尽管有些人可能仍然对Pyrus抱有希望。(这本来是要对PEAR进行改进的,但有点埋没在Composer爆炸式的受欢迎程度之下。

顺便说一句,您也可以使用 Composer 安装 PEAR 软件包,请参阅 Composer 文档

另请参阅:
[1] 有关 PHP 包管理的信息幻灯片


答案 2

推荐