You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Composer未更新tcg/voyager包?本地文件与GitHub版本不一致原因

为什么你的Voyager包显示已更新但文件不一致?

这种情况我之前也碰到过,主要是这几个原因导致的,咱们一步步排查:

1. Composer按版本标签拉取,而非分支最新提交

你composer.json里的"tcg/voyager": "^1.0"约束,会让Composer拉取1.x系列中已打标签的最新稳定版本(也就是v1.0.11)。而你看到的12小时前的GitHub提交,大概率是还没被合并到1.0稳定分支,或者维护者还没给这个提交打新的版本标签。

你可以核对下本地composer.lock里的reference值(919fcbb5c9a53d601b4b5eeb983e2a29a488e1cb),去GitHub仓库的提交记录里找这个哈希值,就能确认它是不是v1.0.11标签对应的那个提交——如果是的话,那最新的12小时前的提交确实不在这个版本里。

2. Composer缓存导致旧文件未被替换

有时候Composer会缓存之前下载的包,即使版本标签正确,本地缓存的文件还是旧的。你可以试试:

  • 先清除缓存:composer clear-cache
  • 再重新更新:composer update tcg/voyager

3. 本地文件被修改过,Composer跳过覆盖

如果你之前手动修改过MenuItemPolicy.php,Composer在更新时会保留本地修改,不会强制覆盖。可以用Git命令检查下:

git diff vendor/tcg/voyager/src/Policies/MenuItemPolicy.php

如果有本地修改,先备份这个文件,然后执行强制安装来覆盖:

composer install --force

如何获取GitHub最新提交的代码?

如果确实需要那12小时前的最新功能,你得修改composer.json的版本约束,指定拉取开发分支:

  1. 把"tcg/voyager": "^1.0"改成"tcg/voyager": "dev-master"(或者对应开发分支,比如1.x-dev,具体要看仓库的分支命名)
  2. 执行更新:composer update tcg/voyager --no-cache

注意:开发分支的代码可能不稳定,生产环境谨慎使用哦!

内容的提问来源于stack exchange,提问作者Adam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:17:28