使用 –no-update 选项可将包写入 composer.json 而不立即安装,避免自动更新;批量添加依赖时先记录再统一执行 composer update,提升效率;适用于 CI/CD 等需分离配置变更与安装的自动化流程。
当你在使用 Composer 的 require 命令时,加上 –no-update 选项的作用是:只将指定的包写入 composer.json
文件,而不立即安装或更新依赖。
避免自动执行更新
默认情况下,运行 composer require vendor/package
不仅会修改 composer.json
,还会自动触发 composer update
来下载并安装该包及其依赖。如果你只想记录依赖关系,但稍后再统一处理安装,就可以用:
composer require vendor/package –no-update
这样 composer.json
会被更新,但不会下载任何文件,也不会修改 vendor/
目录或 composer.lock
。
批量添加依赖更高效
当你需要一次性添加多个包时,使用 –no-update 可以避免每次调用都执行依赖解析和下载,提升效率。
例如:
composer require vendor/package1 –no-update
composer require vendor/package2 –no-update
composer require vendor/package3 –no-update
composer update
所有包先写入配置,最后统一执行一次 composer update
,减少重复分析和网络请求。
适用于脚本或自动化流程
在 CI/CD 脚本或部署流程中,你可能希望把依赖变更和实际安装步骤分开。使用 –no-update 能更好地控制执行时机,比如先生成新的 composer.json
,再在独立阶段进行安装。
基本上就这些。这个选项适合需要精细控制依赖管理流程的场景,不复杂但容易忽略。