在 Ubuntu 上安装 PHPUnit 和 composer 有什么好处?



我正在开发一个PHP网站。我的笔记本电脑上有一个版本,我可以在其中开发所有内容,以及运行该站点的Web服务器。

我发现我只能使用作曲家在我的笔记本电脑上安装 PHPUnit,而不是在我的 Web 服务器上使用"require-dev"选项 使用"require-dev"在作曲器中安装软件包

但是,这有一些缺点:

  1. 从现在开始,我必须在网络服务器上调用php composer update --no-dev,如果我忘记--no-dev那么它也安装在网络服务器上

  2. 我必须使用$ ./vendor/bin/phpunit来调用phpunit

  3. 我必须在笔记本电脑上为每个项目安装 phpunit。

在 Ubuntusudo apt-get install phpunit上安装 phpunit 不是更好吗?这样我就不必担心在服务器上使用--no-dev选项,我可以简单地通过$ phpunit调用它。我在这里错过了什么重要的东西吗?

快速回答是:

  1. 你可以在你的项目中有一个你想要的phppunit版本,在另一个项目中有一个版本。无论如何,--no-dev都应该在生产中使用,因为您不想在生产环境中安装所有开发依赖项
  2. 如果您不想调用./vendor/bin/phpunit请将脚本添加到 composer.json,然后通过composer test或您创建的任何内容运行测试
  3. 在第一篇中解释过。这真的很有意义,特别是当你使用一些只适用于某些特定版本的 php/phpunit 等的遗留代码时。

我通常在"require-dev"部分安装phpunit和其他工具,但另一个完全合理的选择是从网站下载phpunit.phar文件,并将其与其余代码一起签入 - 偶尔手动更新它。

本地(或全局)Composer 安装将允许更好地控制哪个版本可用,并且您可以看到它或其他依赖项何时因composer outdated而过期。

至于生产部署,您应该尽可能自动化它,以确保每次都发生完全相同的事情。这样,它只是部署脚本或其他机制中的另外几个字符。

最新更新