使用确切版本号并提交composer.lock文件可锁定依赖,避免更新。指定如"monolog/monolog": "2.9.1"而非^或~范围,防止自动升级,结合lock文件确保环境一致。

在 composer.json 中锁定某个依赖包,防止其被更新,主要通过明确指定版本号来实现。Composer 默认会根据版本约束自动更新到兼容的最新版本,若要避免这种行为,需采取更严格的版本控制策略。
将依赖的版本号写死为具体版本,而不是使用波浪线(~)或插入符(^)等范围符号。
示例:<pre class="brush:php;toolbar:false;">{
"require": {
"monolog/monolog": "2.9.1"
}
}
这样 Composer 只会安装 2.9.1 版本,不会升级到 2.9.2 或更高。
这些符号允许一定范围内的更新:
如果不想更新,就不要用这些前缀。
虽然 Composer 本身不识别注释来阻止升级,但某些第三方工具或团队规范中会使用注释提醒不要升级。
<pre class="brush:php;toolbar:false;">{
"require": {
"symfony/http-foundation": "5.4.0" // @no-upgrade 项目兼容性要求固定版本
}
}
这仅是人为约定,不能强制阻止更新。
运行 composer install 时,Composer 会优先遵循 composer.lock 文件中的版本。只要该文件存在且提交到版本控制,所有环境都会安装相同版本。
要确保包不被更新,除了固定版本号,还应提交 composer.lock 到 Git 等版本系统。
基本上就这些。关键是用确切版本号 + 提交 lock 文件,就能有效锁定依赖。简单但容易忽略的是用了 ^ 导致“看似固定实则更新”。
以上就是如何在composer.json中锁定某个依赖包,使其不被更新?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号