使用 --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 流程中,你可能不希望这些操作自动触发:
JTBC CMS(5.0) 是一款基于PHP和MySQL的内容管理系统原生全栈开发框架,开源协议为AGPLv3,没有任何附加条款。系统可以通过命令行一键安装,源码方面不基于任何第三方框架,不使用任何脚手架,仅依赖一些常见的第三方类库如图表组件等,您只需要了解最基本的前端知识就能很敏捷的进行二次开发,同时我们对于常见的前端功能做了Web Component方式的封装,即便是您仅了解HTML/CSS也
- 防止在构建阶段意外修改生产配置
- 避免因缺少环境变量导致脚本执行失败
- 加快安装速度,跳过不必要的操作
与其他选项组合使用
你可以将 --no-scripts 和其他常用选项结合使用,例如:
- composer install --no-scripts --no-dev --optimize-autoloader:跳过开发依赖、脚本,并优化自动加载
- composer create-project laravel/laravel --no-scripts:创建项目时不执行初始化脚本
基本上就这些。只要加上 --no-scripts,Composer 就不会执行任何你在 composer.json 里写的脚本逻辑,适合需要干净安装的场景。









