繁体   English   中英

全球PHP安装包:apt-get与composer

[英]PHP install package globally: apt-get vs composer

我发现有两种方法可以在Linux(Ubuntu 16.04)中全局安装PHP软件包:

  1. 使用composer

     composer global require symfony/finder 

    该软件包将位于~/.config/composer/vendor/

    在此处输入图片说明

  2. 使用apt-get

     apt-get install php-symfony-finder 

    该软件包将位于/usr/share/php/

    在此处输入图片说明

    这个目录/usr/share/php/也是默认的PHPs include_path (我有PHP 7.2)

    在此处输入图片说明


我有几个问题:

为什么要在全球安装软件包?

我知道在全球范围内安装php工具(例如phpunit -它具有二进制文件,并且允许您在任何地方运行测试,因此您不必在每个项目中都安装它。 但是,例如symfony/finder呢? 全局安装的此软件包有什么特殊用途?

1和2选项有什么区别?

它有不同的用例或不同的效果吗?

为什么要在全球安装软件包?

通常,这些是您几乎要在每个项目中使用的依赖项,因为它们在系统级别可用,因此您可以使用它们,而不必在创建的每个应用程序中复制它们的依赖项。

例如,在我的情况下,我有php_mdphp_cs用于代码格式化, phpunit用于测试。

1和2选项有什么区别?

两者都是软件包管理器,它们确保安装的每个软件包都具有正确的依赖性,因此它们的核心功能是相似的。

现在,它们有几个区别:

  • 他们专注于所管理的软件包, composer特定于基于php的软件包,而apt-get则适用于Linux和更多面向系统级别的软件包。
  • 他们的软件包数据库composer使用packagist,apt-get使用选择的存储库和ppas(可以在/var/lib/apt/lists/找到它们)。
  • 软件包的选择,因为composerphp专门技术,您可以期望任何与php相关的种类都更多。

总之,您可以清楚地使两者同时使用,但我建议您将与php相关的所有内容保留在作曲家中,并在同一管理器下统一它们。

我忽略了任何其他差异或更正。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM