在开发过程中,Composer的require与install命令有何具体应用场景区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计727个文字,预计阅读时间需要3分钟。
在开发过程中添加新包时,使用以下命令:
什么时候必须用 composer require
你正在本地写代码,需要引入一个新库(比如日志、测试工具、静态分析),就该用它。
- 它会自动把包写进
composer.json的require或require-dev字段,并立即下载安装 - 同时更新
composer.lock,记录精确版本号,保证团队其他人install时拿到一模一样的依赖 - 别手动改
composer.json再跑install:那样不会更新lock,别人拉代码后可能装错版本 - 加开发依赖要显式加
--dev,例如:composer require --dev phpunit/phpunit,否则它会被当成生产依赖塞进require
为什么 composer install 不能用来“加依赖”
install 的唯一职责是「按 composer.lock 还原依赖」,它根本不读取你新加的 require 行——哪怕你手改了 composer.json,它也只会装 lock 里已有的东西。
本文共计727个文字,预计阅读时间需要3分钟。
在开发过程中添加新包时,使用以下命令:
什么时候必须用 composer require
你正在本地写代码,需要引入一个新库(比如日志、测试工具、静态分析),就该用它。
- 它会自动把包写进
composer.json的require或require-dev字段,并立即下载安装 - 同时更新
composer.lock,记录精确版本号,保证团队其他人install时拿到一模一样的依赖 - 别手动改
composer.json再跑install:那样不会更新lock,别人拉代码后可能装错版本 - 加开发依赖要显式加
--dev,例如:composer require --dev phpunit/phpunit,否则它会被当成生产依赖塞进require
为什么 composer install 不能用来“加依赖”
install 的唯一职责是「按 composer.lock 还原依赖」,它根本不读取你新加的 require 行——哪怕你手改了 composer.json,它也只会装 lock 里已有的东西。

