如何在 composer 中锁定一个包的版本,防止其被更新?

下次还敢
发布: 2025-11-18 16:27:15
原创
277人浏览过
答案是使用精确版本号并避免执行composer update。在composer.json中指定具体版本如"1.3.5",结合composer.lock文件确保依赖稳定,通过不运行update命令防止更新,团队协作时统一使用install,并可在必要时fork私有版本实现长期锁定。

如何在 composer 中锁定一个包的版本,防止其被更新?

在 Composer 中锁定一个包的版本,最直接的方式是通过 明确指定版本号,而不是使用宽松的版本约束。这样可以防止该包在运行 composer update 时被自动更新。

1. 使用精确版本号

composer.json 文件中,将包的版本从如 "^1.0""~1.2.0" 改为具体的版本号:

"require": { "vendor/package": "1.3.5" }

这样 Composer 只会安装 1.3.5 版本,不会进行任何小版本或补丁更新。

2. 锁定已安装的版本(利用 composer.lock)

Composer 已经通过 composer.lock 文件锁定了当前项目中所有依赖的具体版本。只要你不运行 composer update,执行 composer install 就会严格按照 lock 文件安装。

因此,不更新特定包的前提是避免执行全局或针对该包的 update 命令

小绿鲸英文文献阅读器
小绿鲸英文文献阅读器

英文文献阅读器,专注提高SCI阅读效率

小绿鲸英文文献阅读器 352
查看详情 小绿鲸英文文献阅读器

3. 禁止某个包被更新(使用 config platform 或 patch 脚本)

Composer 本身没有原生的 “禁止更新” 标记,但你可以通过以下方式间接实现:

  • 使用 composer require vendor/package:1.3.5 显式固定版本
  • 团队协作时,确保所有人理解不要手动更新该包
  • 在 CI/CD 流程中使用 composer install 而非 composer update

4. 使用 replace 或 fork 维护私有版本(高级场景)

如果你需要长期锁定并可能修改代码,可以:

  • 将该包 fork 到私有仓库
  • 修改其版本号(如加后缀 1.3.5-myfork.1
  • 在项目中引用你的私有版本

这样既实现了锁定,又保留了自定义能力。

基本上就这些。核心是:用具体版本号 + 不轻易运行 update = 实际锁定。

以上就是如何在 composer 中锁定一个包的版本,防止其被更新?的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号