在 Ubuntu 上使用 composer 安装 PHPUnit 的好处?
Posted
技术标签:
【中文标题】在 Ubuntu 上使用 composer 安装 PHPUnit 的好处?【英文标题】:Benefits of installing PHPUnit with composer on Ubuntu? 【发布时间】:2017-11-02 15:39:42 【问题描述】:我正在开发一个 php 网站。我的笔记本电脑上有一个版本,我可以在其中开发所有内容以及运行该站点的 Web 服务器。
我发现我只能使用 composer 在我的笔记本电脑上安装 PHPUnit,而不能使用 "require-dev"
选项 Using "require-dev" to install packages in composer 在我的网络服务器上安装 PHPUnit
但是,这也有一些缺点:
从现在开始我必须在网络服务器上调用php composer update --no-dev
,如果我忘记了--no-dev
,那么它也会安装在网络服务器上
我必须使用$ ./vendor/bin/phpunit
来调用phpunit
我必须在我的笔记本电脑上为每个项目安装 phpunit。
在 Ubuntu sudo apt-get install phpunit
上安装 phpunit 不是更好吗?这样我就不必担心在服务器上使用--no-dev
选项,我可以简单地通过$ phpunit
调用它。我在这里遗漏了什么重要的东西吗?
【问题讨论】:
不要在生产环境中运行composer update
。您可能想要安装依赖项,而不是更新它们。运行composer install --no-dev
。
【参考方案1】:
我通常在 'require-dev' 部分安装phpunit
和其他工具,但另一个完全合理的选择是从网站下载 phpunit.phar 文件,并将其与您的其余代码一起检查 -偶尔手动更新一下。
本地(或全局)Composer 安装将允许更好地控制确切可用的版本,并且您可以看到它何时或您的其他依赖项已过期 composer outdated
。
对于生产部署,您应该尽可能实现自动化,以确保每次都发生完全相同的事情。这样,它只是您的部署脚本或其他机制中的另外几个字符。
【讨论】:
【参考方案2】:快速回答是:
-
您可以在您的项目中使用您想要的phppunit 版本,在另一个中使用另一个版本。并且
--no-dev
无论如何都应该在生产中使用,因为您不想在生产中安装所有开发依赖项
如果您不想调用 ./vendor/bin/phpunit
,请将脚本添加到您的 composer.json,然后通过 composer test
或您创建的任何内容运行测试
在第一个解释。这真的很有意义,尤其是当您使用一些仅适用于某些特定版本的 php/phpunit 等的遗留代码时。
【讨论】:
以上是关于在 Ubuntu 上使用 composer 安装 PHPUnit 的好处?的主要内容,如果未能解决你的问题,请参考以下文章
如何在Ubuntu 20.04上安装Docker Compose
在ubuntu上安装curl以使用hirak / prestissimo和composer