--no-scripts 参数可用于 composer install、update、require 和 remove(Composer 2.2+)命令,禁用 scripts 中定义的钩子脚本,但不影响 autoload 生成;需临时添加,无全局禁用配置。

直接在 Composer 命令后加上 --no-scripts 参数即可禁止执行所有脚本(如 post-install-cmd、pre-update-cmd 等)。
哪些命令支持 --no-scripts
该参数适用于大多数常用命令,包括:
composer installcomposer updatecomposer require-
composer remove(Composer 2.2+)
实际使用示例
比如跳过自动执行的脚本(如生成 autoload、清缓存、运行测试等):
composer install --no-scripts
或更新依赖时不触发钩子:
composer update --no-scripts
注意与 --no-autoloader 的区别
--no-scripts 只禁用 scripts 部分定义的命令,不影响自动加载器生成;若还需跳过 autoload 生成,可额外加 --no-autoloader:
composer install --no-scripts --no-autoloader
临时禁用 vs 全局配置
--no-scripts 是临时开关,每次需手动添加。Composer 不提供全局永久禁用脚本的配置项(出于安全和设计考虑)。如需长期避免脚本执行,建议在 CI/CD 或部署脚本中统一加该参数,而非修改 composer.json 中的脚本逻辑。
基本上就这些 —— 简单有效,不复杂但容易忽略。










