使用精确版本号可锁定依赖,如”monolog/monolog”: “2.3.5”;2. composer.lock 文件确保安装一致版本;3. 避免运行 composer update 或使用 –lock 参数防止升级。

在使用 Composer 管理 PHP 依赖时,如果你希望锁定某个包的版本,防止它在后续执行 composer update 时被更新,有几种有效的方法可以实现。最核心的方式是通过修改 composer.json 文件中的版本约束,并结合 composer.lock 文件的作用来控制。
1. 使用精确版本号
在 composer.json 的 require 或 require-dev 中,将包的版本写成固定版本号,而不是使用波浪线(~)或插入符(^)等允许小版本或补丁更新的符号。
不推荐: "monolog/monolog": "^2.0" — 允许更新到 2.x 的最新版 推荐(锁定): "monolog/monolog": "2.3.5" — 只安装 2.3.5 版本
这样即使运行 composer update,Composer 也会严格遵守这个版本,不会升级到更高版本。
2. 利用 composer.lock 文件
当你第一次执行 composer install 时,Composer 会根据 composer.json 安装依赖,并生成一个 composer.lock 文件,记录所有已安装包的精确版本。
立即进入“豆包AI人工智官网入口”;
立即学习“豆包AI人工智能在线问答入口”;
只要 composer.lock 存在,composer install 就会安装 lock 文件中指定的版本,不会更新。 只有执行 composer update 才会重新解析版本并可能升级。
因此,如果你不想让某个包更新,除了在 composer.json 中限制版本外,还可以避免运行 composer update,只使用 composer install 来确保环境一致性。
3. 使用禁用更新的配置(高级)
虽然 Composer 没有直接“冻结”单个包的命令,但你可以通过以下方式间接实现:
不要对特定包单独运行 composer update vendor/package 使用 composer update --lock:只更新 lock 文件而不升级包(Composer 2.2+ 支持) 在 CI/CD 或生产环境中始终使用 composer install 而不是 update
基本上就这些。最关键的还是在 composer.json 中使用固定版本号,配合 composer.lock 文件,就能有效锁定包的版本,避免意外升级。不复杂但容易忽略的是版本符号的细微差别,写死版本是最稳妥的做法。
以上就是Composer如何锁定一个包的版本不让它更新?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/129922.html
微信扫一扫
支付宝扫一扫