在了解require和require_dev 之间的区别之前,首先要了解require和require_dev是什么。
require:这些是运行代码的必备包。它定义了实际的依赖关系以及包版本。
require_dev:它定义了开发项目所需的包,而不是生产环境中所需的包。
注意: require和require_dev是composer.json中可用的重要参数。
什么是Composer?
Composer是php中的依赖/参数管理器。它可用于安装跟踪和更新项目依赖性。Composer还负责处理依赖项的自动加载,应用程序依赖于它们可以轻松使用项目中的依赖项,而不必担心将它们包含在任何给定文件的顶部。项目的依赖关系列在“composer.json”文件中,该文件通常位于项目根目录中。
此文件包含有关生产和开发所需的软件包版本的信息。可以使用任何文本编辑器手动编辑此文件,也可以通过命令行自动编辑此文件,例如“composer require”或“composer require_dev”。
要在项目中开始使用composer,首先需要创建composer.json文件。它既可以手动创建,也可以只运行composer init。在终端中运行composer init之后,它将询问有关项目的一些基本信息,例如包名称,描述(可选),作者和来源其他信息,如最小稳定性,许可证和所需包。
composer.json中的require键指定组合器,其中包含项目依赖于require,需要一个映射包名称的对象
示例:
{
"require": {
// 包的名称
"composer/composer:" "1.2.*"
}
}
在上面的示例中,“composer / composer”指定由斜杠('/')分隔的供应商名称和项目名称,“1.2.*”指定版本名称。
要安装依赖项需要运行composer install命令,然后它将找到已定义的包,该方法用于提供的版本约束并将其下载到供应商目录中。它将第三方代码放入名为vendor的目录中。安装的命令还创建了一个composer.lock文件。
require和require_dev之间的区别:
require:
它定义了实际的依赖关系以及包版本。
require列出了此包所需的包。
除非满足这些要求,否则不会安装包。
require_dev:
它定义了开发项目所需的包。
require_dev列出了开发此包或运行测试等所需的包。
默认情况下会安装root包的dev要求。安装或更新都支持“-no-dev”选项,以防止安装dev依赖项。