可通过 platform 配置或锁定版本号实现忽略更新。1. 使用 config.platform 声明包已存在以阻止更新;2. 在 require 中指定精确版本号防止自动升级;3. 通过 composer update 包名 精确控制更新范围;4. 不推荐手动修改 composer.lock。根据需求选择合适方式。

让 Composer 在更新时忽略指定的包,可以通过几种方式实现。最常用的方法是使用 平台配置 或 临时锁定版本 来避免特定包被更新。
1. 使用 platform 配置忽略包
Composer 提供了 platform 配置项,可以“声明”某些扩展或包已存在,并阻止它们被安装或更新。
在 composer.json 中添加如下内容:
"config": { "platform": { "ext-some-extension": "7.4.0", "some/package": "1.2.3" }}
这样 Composer 会认为 some/package 已经安装了 1.2.3 版本,不会尝试更新它。
⚠ 注意:这个方法本质上是“欺骗” Composer,适用于你确定该包不会变动且不需要由 Composer 管理的情况。
2. 锁定版本号不更新
如果你只是不想某个包自动升级,可以将其版本号在 require 或 require-dev 中设为固定版本。
例如:
立即进入“豆包AI人工智官网入口”;
立即学习“豆包AI人工智能在线问答入口”;
"require": { "laravel/framework": "9.0.0", "symfony/console": "6.0.0"}
使用精确版本号(而不是 ^ 或 ~)能防止 Composer 自动更新到新版本。
执行 composer update 时,Composer 会保留这些包在指定版本,除非你手动更改版本号。
3. 使用 –with-dependencies 的反向控制
当你只想更新部分包时,可以显式指定要更新的包,从而自然跳过其他包。
例如,只更新 Laravel 相关组件:
composer update laravel/*
这样其他未列出的包不会被触碰,相当于“忽略”了它们。
4. 手动修改 composer.lock(不推荐)
你可以手动编辑 composer.lock 文件,保持某个包的版本不变。但下次运行 update 时仍可能被覆盖,风险较高,一般不建议。
此方法仅适合临时调试,不适合长期使用。
基本上就这些实用方法。根据你的需求选择:如果想彻底忽略,用 platform;如果只是防止升级,固定版本号最稳妥。
以上就是如何让composer在更新时忽略指定的包的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/143638.html
微信扫一扫
支付宝扫一扫