Composer.json 中的 require 和 require-dev 部分有什么区别?

2023-12-02

我开始使用 Composer,我对它知之甚少,并且对 Web 应用程序开发有一些经验。

我只是走过Nettuts+ 教程,所以我有关于作曲家的基本问题。

{
  "require": {
    "laravel/framework": "4.0.*",
    "way/generators": "dev-master",
    "twitter/bootstrap": "dev-master",
    "conarwelsh/mustache-l4": "dev-master"
  },
  "require-dev": {
    "phpunit/phpunit": "3.7.*",
    "mockery/mockery": "0.7.*"
  },
  "autoload": {
    "classmap": [
      "app/commands",
      "app/controllers",
      "app/models",
      "app/database/migrations",
      "app/database/seeds",
      "app/tests/TestCase.php"
    ]
  },
  "scripts": {
    "post-update-cmd": "php artisan optimize"
  },
  "minimum-stability": "dev"
}
  1. 无论出现在"require-dev"部分,只能下载并安装composer install --dev?
  2. 我读了一些作曲家的文档,但仍然不明白我们这样做的原因是什么"require-dev"部分?是不是因为我们想要具体version包而不是总是获得最新的稳定版本?

不同的环境

通常,软件将在不同的环境中运行:

  • development
  • testing
  • staging
  • production

不同环境下不同的依赖关系

中声明的依赖项require的部分composer.json通常是运行应用程序或包所需的依赖项

  • staging
  • production

环境,而在require-dev部分通常是所需的依赖项

  • developing
  • testing

环境。

例如,除了用于实际运行应用程序的包之外,开发软件可能还需要包,例如:

  • friendsofphp/php-cs-fixer(检测并修复编码风格问题)
  • squizlabs/php_codesniffer(检测并修复编码风格问题)
  • phpunit/phpunit(使用测试来推动开发)
  • etc.

部署

Now, in development and testing环境,你通常会运行

$ composer install

安装两个production and development依赖关系。

然而,在staging and production环境中,您只想安装运行应用程序所需的依赖项,并且作为部署过程的一部分,您通常会运行

$ composer install --no-dev

仅安装production依赖关系。

语义学

换句话说,这些部分

  • require
  • require-dev

指示composer运行时应安装哪些软件包

$ composer install

or

$ composer install --no-dev

就这些。

Note您的应用程序或包所依赖的包的开发依赖项将永远不会被安装

作为参考,请参阅:

  • https://getcomposer.org/doc/04-schema.md#require
  • https://getcomposer.org/doc/04-schema.md#require-dev
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Composer.json 中的 require 和 require-dev 部分有什么区别? 的相关文章

随机推荐

  • HSQL 创建过程语法似乎与文档不匹配

    我使用 HSQL 作为内存测试数据库来运行集成测试 在生产中 我有一个 oracle 10g 数据库 这个想法是运行我用来在 oracle 中创建数据库的数据库创建脚本 以在 hsql 中创建相同的数据库以进行集成测试 我遇到了有关语法差异
  • 边缘检测后获取边缘坐标(Canny)

    我使用 OpenCV 的时间相当短 并对图像执行了 Canny 边缘检测 之后还执行了膨胀以进一步将对象 在我的例子中是一个正方形 与背景分开 我现在的问题是使用一种算法来识别二维中的可抓取区域 该算法要求我处理这些边缘中的点的坐标 有没有
  • 什么是纯 SVG,什么是 SMIL?

    Context 我正在制作 SVG 信息图 我希望通过动画让文档变得栩栩如生 尤其是动画链接动画 我已经熟悉 SVG 但最近才开始学习 SVG 动画 由于 SMIL 已被弃用 我正在尝试用纯 SVG 制作动画 看看这篇文章 尤其是Handy
  • HTML canvas JavaScript 库和框架的当前技术水平如何? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我目前正在研究在新的 HTML 5 应用程序中使用画布的选项 并且想知道 HTML 画布 JavaScript 库和框架的当前技术水平是什么 特别是 是否有框架支持游戏开发所需的东西 复杂
  • Swift:如何单击按钮打开新窗口?

    我是这种编程语言的新手 我想创建一个应用程序 当我单击按钮时打开一个包含一些信息的窗口 但我不知道该怎么做 我不使用故事板 因为我读到对于专业编程来说这些不起作用 我不想要 iOS 我想要 OS X 向大家问好 那很简单 您可以执行以下操作
  • 将 spring-batch-admin 集成到现有的 spring boot 后无法导入属性

    我曾经做过一个使用 spring batch 和 spring boot 的项目 我遵循了如何集成它的确切规则 1 删 除所有 EnableBatchProcessing 2 添加ServletConfiguration和WebappCon
  • 在 Razor 视图中根据需要创建字段

    我想在剃刀视图中根据需要创建一个文本框字段 我无法使用验证属性 Required 因为字段名称是动态生成的 我检查了这个答案这设置了data val required字段到true使用 JavaScript 有没有其他方法可以做到这一点 因
  • 突出显示 matplotlib 图中的任意点

    我是 python 和 matplotlib 的新手 我试图突出显示 matplotlib 中现有绘图中符合特定标准的几个点 初始绘图的代码如下 pl plot t y pl title Damped Sine Wave with 1f H
  • IntelliJ IDEA + Gradle - 如何记录从 IDE 运行的长时间运行的 Gradle 任务?

    IntelliJ IDEA 有时需要很长时间来执行 Gradle 刷新任务或运行 Gradle 任务 它会旋转很长一段时间 让你想知道它到底旋转了多远 或者它是否在做任何事情或冻结了 例如 这已经运行了很长时间 但我没有办法看到发生了什么
  • Java中的字符串表示

    字符串在 Java 中表示为对象 因此 一个对象包含存储在实例变量对象内 对象还包含对该对象进行操作的代码体 这些代码体称为methods 包含相同类型值和相同方法的对象被分组为类 类可以被视为这些对象的类型定义 那么 Java中的Stri
  • 检查或查找值是否存在于另一列中

    这应该很容易 但我就是不明白出了什么问题了 我有 3 列 第一列和第三列有数字 我希望第二列显示第 1 列中的数字是否存在于第 3 列中 我在网上找到了一个代码 IF ISERROR VLOOKUP A7 C 2 C 3400 1 FALS
  • ASP.Net MVC 长时间运行进程

    我需要为不同的财务周期生成报告屏幕 由于这是一个相当大的数据集 包含很多规则 因此该过程可能需要很长时间才能运行 某些报告返回需要一个多小时 在 MVC 中处理这种情况的最佳方法是什么 我担心 屏幕锁定 表现 可用性 请求超时 这些确实是合
  • 如何在Xcode中使用svn合并冲突(文件project.pbxproj)?

    我们团队中有两名成员 我们使用Xcode的SCM 使用SVN 来管理我们的源代码文件 我们都将文件添加到我们的 Xcode 项目中 他已经致力于SVN服务器 当我更新时 Xcode发现有冲突project pbxproj文件 然后我选择退出
  • 为什么在 Ruby 中 splat 后可以有必需参数,但不能有可选参数? [复制]

    这个问题在这里已经有答案了 这在 Ruby 中是可能的 class SomeClass def initialize a b c end end 但这不是 class SomeClass def initialize a b c anyth
  • 从继承的变量构造派生类

    也许标题有点令人困惑 所以我会尽力确保它尽可能清晰 基本上 我正在尝试创建一个游戏 其中有一个名为 Creature 的抽象基类 并且在其下有几个派生的幻想生物类 现在我的问题是 如果我有一个具有受保护变量 intstrength 和 in
  • 适应(求解)复杂方程的算法(隐式函数 f(x,y) )

    我正在尝试调整一些方程 隐式 f x y 以便能够列出相应 X 值的 Y 方程可以是例如如下 y 2 x 3 2x 3xy X 2 y 2 1 3 x 2y 3 0 X 3 y 3 3xy 2 x 1 X 3 y 2 6xy sqrt y
  • 容器启动失败。启动失败,然后监听 PORT 环境变量定义的端口

    我构建了容器映像 但是当我尝试从gcloud在命令行或 Cloud Console 中 我收到以下错误 容器无法启动 无法启动并侦听 PORT 环境变量定义的端口 在您的代码中 您可能没有侦听传入的 HTTP 请求 或者您正在侦听错误端口上
  • mb_strlen() 和 strlen() 不会从对 PHP 的 Ajax 调用返回正确的值

    如何在 PHP 中添加对传递的 username 长度的检查 该网站是 UTF 8 但我相信 Javascript 使用不同的编码 你可以在评论中看到我在 PHP 中尝试了不同的东西 但它们不起作用 我尝试过但没有成功的方法 PHP 是一个
  • Twitter4j 中 Twitter 用户的电子邮件

    twitter4j 可以获取授权应用程序 网站的 Twitter 用户的电子邮件吗 我能够得到如下的屏幕名称 User user twitter showUser id String screenName user getScreenNam
  • Composer.json 中的 require 和 require-dev 部分有什么区别?

    我开始使用 Composer 我对它知之甚少 并且对 Web 应用程序开发有一些经验 我只是走过Nettuts 教程 所以我有关于作曲家的基本问题 require laravel framework 4 0 way generators d