【问题标题】:Benefits of installing PHPUnit with composer on Ubuntu?在 Ubuntu 上使用 composer 安装 PHPUnit 的好处?
【发布时间】:2017-11-02 15:39:42
【问题描述】:

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

我发现我只能使用 composer 在我的笔记本电脑上安装 PHPUnit,而不能使用 "require-dev" 选项 Using "require-dev" to install packages in composer 在我的网络服务器上安装 PHPUnit

但是,这也有一些缺点:

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

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

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

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

【问题讨论】:

  • 不要在生产环境中运行composer update。您可能想要安装依赖项,而不是更新它们。运行composer install --no-dev。

标签: php phpunit composer-php


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    快速回答是:

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

    【讨论】:

      猜你喜欢
      • 2013-09-12
      • 2017-11-10
      • 2021-05-30
      • 2013-06-01
      • 2020-08-28
      • 2016-02-21
      • 2015-02-21
      • 2014-12-15
      • 1970-01-01
      相关资源
      最近更新 更多