执行 composer install –no-dev 只安装 require 中的正式环境依赖,忽略 require-dev 开发工具,减少文件数量、提升部署效率并降低安全风险,常用于生产环境。

执行 composer install –no-dev 命令时,Composer 会安装项目依赖,但跳过开发环境专用的依赖包。
只安装正式环境需要的依赖
在
composer.json
文件中,依赖分为两类:
• require:项目运行必须的库,比如框架、组件等
• require-dev:仅用于开发和测试的工具,如 PHPUnit、PHPStan、CS Fixer 等
使用
--no-dev
参数后,Composer 只安装 require 中的包,完全忽略 require-dev 部分。
适用于生产环境部署
这个参数常用于生产环境,原因包括:
• 减少服务器上的文件数量,节省磁盘空间
• 缩短安装时间,提升部署效率
• 降低安全风险,避免开发工具被意外调用
例如,在 CI/CD 流程或上线脚本中,通常会使用:
composer install --no-dev --optimize-autoloader
这样既能确保运行环境完整,又能优化类加载性能。
不会影响自动加载映射
即使跳过 dev 依赖,Composer 仍会生成正确的自动加载文件(autoload.php),只是不包含 dev 包的类。只要代码中不引用这些工具类,程序就能正常运行。
基本上就这些。使用
--no-dev
是生产环境部署的标准做法,确保轻量且安全。
以上就是Composer install –no-dev的作用的详细内容,更多请关注php js json composer 工具 开发环境 php composer json require


