
在使用 Composer 安装依赖时,--no-scripts 和 --no-plugins 是两个控制执行流程的选项,它们的作用如下:
--no-scripts:跳过 composer.json 中定义的脚本
Composer 允许在 composer.json 中定义一些脚本(scripts),比如在安装完成后自动执行某些操作,例如:
- 生成 autoload 文件
- 清除缓存
- 执行数据库迁移
- 运行代码检查工具
当你加上 --no-scripts 时,这些脚本将不会被执行。这在某些场景下很有用,比如:
- 你只是想快速查看依赖是否能正常安装,不希望触发任何额外操作
- 你在 CI/CD 环境中分阶段执行任务,希望把脚本留到后续步骤手动运行
- 某个脚本出错导致 install 失败,你想跳过它来排查问题
--no-plugins:禁用 Composer 插件
Composer 支持插件机制,一些包可能会注册插件,在安装过程中自动执行特定逻辑,比如:
- 修改 autoloader 行为
- 处理特殊类型的包
- 自动发布或部署
使用 --no-plugins 会。这样可以:
- 加快安装速度(避免插件初始化开销)
- 避免插件带来的副作用或错误
- 在调试时排除插件干扰
常见组合使用场景
有时你会看到这两个选项一起使用:
composer install --no-scripts --no-plugins这种写法通常出现在:
- Docker 构建阶段:先安装依赖,后面再单独执行脚本
- CI 环境中:分步控制流程,提高可调试性
- 开发环境初始化:避免自动执行耗时或不需要的操作
基本上就这些。根据你的实际需求决定是否使用这些选项,一般开发环境下不需要加;但在自动化流程中,精细控制更安全可靠。










