composer require-dev的作用

"require-dev": {
    "phpunit/phpunit": "~4.0",
    "phpspec/phpspec": "~2.1",
    "barryvdh/laravel-ide-helper": "~2.0"
}

以上的require-dev大致意思是在开发环境下加载以上依赖包,
问题来了,composer 是怎么判断当前环境是正式环境还是开发环境呢?

还是说在正式环境需要把require-dev节点手动删除吗?
已邀请:

王赛

赞同来自: JasonLaravel fengbingji

一切以官方文档为准: https://getcomposer.org/doc/04 ... e-dev

Lists packages required for developing this package, or running tests, etc. The dev requirements of the root package are installed by default. Both install or update support the --no-dev option that prevents dev dependencies from being installed.

楼主理解没错,require-dev 下的包都会被下载的,不管是dev还是prod环境。这和 npm 的 devDependencies 一样的道理。

现在大家的存储空间很大,多装几个包占不了多少。方便开发才是这个包管理工具考虑的重点。

JasonLaravel

赞同来自:

你理解错啦 这里的DEV 不是指你自己开发的项目,而是你所要用Composer 加载进来的别人的项目,别人的这个项目可能还是出于开发状态,不稳定,所以 require-dev

要回复问题请先登录注册