如何使用Composer的--no-dev选项来减小生产环境的包体积?
- 内容介绍
- 文章标签
- 相关推荐
本文共计866个文字,预计阅读时间需要4分钟。
--no-dev 不是“可选优化,而是生产环境部署的强制要求;不包含它,vendor 目录体积、安全隐忧、autoload 性能三者全盘崩溃。”
为什么 --no-dev 会导致 Class not found?
常见错误不是参数没生效,而是误以为 --no-dev 只删包——它实际会跳过整个 autoload-dev 块,连带把测试类、假数据工厂、调试服务提供者等注册规则一并剔除。一旦代码里写了 new TestsHelpersStub() 或在 AppServiceProvider::boot() 中绑定了只存在于 dev 包里的接口实现,就会直接报错。
本文共计866个文字,预计阅读时间需要4分钟。
--no-dev 不是“可选优化,而是生产环境部署的强制要求;不包含它,vendor 目录体积、安全隐忧、autoload 性能三者全盘崩溃。”
为什么 --no-dev 会导致 Class not found?
常见错误不是参数没生效,而是误以为 --no-dev 只删包——它实际会跳过整个 autoload-dev 块,连带把测试类、假数据工厂、调试服务提供者等注册规则一并剔除。一旦代码里写了 new TestsHelpersStub() 或在 AppServiceProvider::boot() 中绑定了只存在于 dev 包里的接口实现,就会直接报错。

