Laravel新手疑问:执行laravel new project为何会安装大量依赖?
嘿,作为刚接触Laravel的新手,看到laravel new project命令跑起来后弹出一堆依赖安装的日志,肯定会有点疑惑——完全不用慌,这是绝对正常的现象!
下面给你拆解一下为什么会出现这些看起来“额外”的依赖:
Laravel是基于大量成熟第三方组件构建的
Laravel本身并不是一个完全从零编写的框架,它的核心功能依赖于很多PHP社区里经过长期验证的优质工具包。比如你看到的doctrine/inflector,它是用来处理字符串格式转换的(比如把驼峰命名转成下划线,或者复数单数转换),Laravel的模型、路由等模块都要用到它;还有Symfony的一系列组件,Laravel的控制台命令、HTTP请求处理、路由解析等底层逻辑都是基于Symfony组件实现的。这些组件都是Laravel正常运行的必要基础,不是什么多余的东西。laravel new命令本质是调用Composer安装完整依赖
当你执行laravel new时,这个命令其实是帮你快速拉取Laravel的项目模板,然后自动调用Composer去安装模板里定义的所有依赖——包括生产环境必需的核心依赖,以及开发环境需要的工具(比如PHPUnit测试框架、代码规范检查工具等)。你看到的70 installs就是这些依赖的总数,其中一部分是require-dev里的开发依赖,这些在部署生产环境时可以通过composer install --no-dev跳过安装,但开发阶段是提升效率的好帮手。可以自己查看依赖清单
你可以打开新项目根目录下的composer.json文件,里面的require字段列出了生产环境必须的依赖,require-dev字段则是开发时用到的工具。每一个依赖都对应着Laravel的某一项功能,没有多余的“额外”安装。
简单来说,现代PHP框架都是站在巨人的肩膀上开发的,这些依赖都是Laravel能提供便捷开发体验的底气,完全正常且必要~
内容的提问来源于stack exchange,提问作者Alexander Tarasenko

