明确指定版本号可锁定依赖,如”monolog/monolog”: “2.9.0”;避免使用^或~等松散约束;提交composer.lock文件确保环境一致;必要时通过–with-all-dependencies更新其他包。

在 Composer 中锁定一个依赖包的版本,最直接的方式是通过 明确指定版本号,而不是使用版本范围或通配符。这样可以防止该包在运行 composer update 时被自动升级。
1. 使用精确版本号
在 composer.json 文件中,将依赖包的版本写成具体的版本号,例如:
“require”: { “monolog/monolog”: “2.9.0”}
这样 Composer 就只会安装 2.9.0 版本,不会更新到更高版本(即使有兼容更新)。
2. 避免使用松散的版本约束
不要使用如 ^2.9 或 ~2.9.0 这类允许小版本或补丁更新的写法。它们会在运行 composer update 时拉取符合条件的最新版本。
^2.9.0 允许更新到 2.x.x 的任何版本(不包括 3.0.0) ~2.9.0 允许更新到 2.9.x 的最新版(不包括 2.10.0)
如果你希望完全锁定,这些都不能用。
3. 利用 composer.lock 文件
当你执行 composer install 时,Composer 会根据 composer.lock 文件安装确切的版本。只要你不运行 composer update,依赖版本就不会变。
稿定在线PS
PS软件网页版
99 查看详情
要确保团队一致,应将 composer.lock 提交到版本控制中。这样其他人运行 composer install 也会得到相同的版本。
4. 禁止特定包的更新(可选)
如果你只想锁定某个包,但仍想更新其他包,可以使用:
composer update –with-all-dependencies
然后手动修改 composer.json 中该包的版本为固定值,并避免再次更新它。或者使用工具脚本监控版本变化。
基本上就这些。核心是:用具体版本号 + 保留 lock 文件 = 有效锁定依赖。不复杂但容易忽略细节。
以上就是如何在composer中锁定一个依赖包的版本,防止其被更新?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/317918.html
微信扫一扫
支付宝扫一扫