使用 –no-scripts 参数可跳过 composer 脚本执行,适用于部署或 CI/CD 场景以避免自动运行 post-install-cmd 等脚本,确保安装过程纯净且高效。

要让 Composer 在安装时跳过脚本执行,可以通过添加 –no-scripts 参数来实现。这个参数会阻止 Composer 执行 composer.json 中定义的所有脚本,包括 post-install-cmd、pre-install-cmd 等。
使用 –no-scripts 安装依赖
在运行 composer install 或 composer update 时,加上 –no-scripts 选项:
- composer install –no-scripts
 - composer update –no-scripts
 
这样 Composer 会跳过所有自定义脚本的执行,仅完成包的下载和自动加载文件的生成。
常见使用场景
某些项目在 composer.json 中定义了脚本,比如自动生成配置文件、清除缓存或执行数据库迁移。在部署环境或 CI/CD 流程中,你可能不希望这些操作自动触发:
- 防止在构建阶段意外修改生产配置
 - 避免因缺少环境变量导致脚本执行失败
 - 加快安装速度,跳过不必要的操作
 
与其他选项组合使用
你可以将 –no-scripts 和其他常用选项结合使用,例如:
- composer install –no-scripts –no-dev –optimize-autoloader:跳过开发依赖、脚本,并优化自动加载
 - composer create-project laravel/laravel –no-scripts:创建项目时不执行初始化脚本
 
基本上就这些。只要加上 –no-scripts,Composer 就不会执行任何你在 composer.JSon 里写的脚本逻辑,适合需要干净安装的场景。