Composer提示Unexpected Value Exception_修复Composer损坏的JSON文件【排查】-composer

该错误通常由 composer.lock 或 vendor/composer/installed.json 文件损坏引起,如 json 格式错误、bom 头、unicode 转义不全、权限不足导致写入截断等;应优先用 jq 或 python3 -m json.tool 验证 json 合法性,删除损坏文件后重装。

Composer install 报错 UnexpectedValueException: Invalid argument supplied for foreach()

这个错误通常不是代码问题,而是 composer.lock 或 vendor/composer/installed.json 文件损坏导致的。Composer 在解析这些 JSON 文件时遇到格式错误(比如末尾多逗号、缺少引号、Unicode 转义不全、BOM 头),就会抛出 UnexpectedValueException,且错误信息往往不指明具体哪一行——这是最让人头疼的地方。

  • 优先检查 composer.lock:用 VS Code 或 Sublime 打开,开启「显示不可见字符」,看是否有 BOM(EF BB BF 开头)、换行符异常(\r\n 混用)、或编辑器自动插入的零宽空格
  • 用命令行验证 JSON 合法性:php -l composer.lock 不起作用(PHP 不校验 JSON),应改用:jq empty composer.lock(需安装 jq)或 python3 -m json.tool composer.lock > /dev/null
  • 如果报错指向 vendor/composer/installed.json,不要手动编辑它——它是 Composer 自动写入的,直接删掉 vendor/ 和 composer.lock,再运行 composer install

JSON 中中文路径或包名导致解析失败

某些 Windows 环境下,Composer 会把含中文的 vendor 路径或包描述写进 installed.json,但未正确转义 Unicode 字符(例如写成 张三 而非 \u5f20\u4e09),PHP 的 json_decode() 默认拒绝这种非标准格式,直接 throw UnexpectedValueException。

夏夕资源网专注于CMS网站模板,主流语言整站网站源码下载,网站建设相关教程分享,好用的软件素材整合下载,提供一站式便捷自助服务。
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"zy.lucklyus.top",如遇到无法解压的请联系管理员!
夏夕资源网-网站模板_免费源码_资源素材 » Composer提示Unexpected Value Exception_修复Composer损坏的JSON文件【排查】-composer
在线时间:12:00 - 22:00
关注微信公众号:微信公众号
站长邮箱:[email protected]
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4027655+
  • 本周更新: 0+
  • 最后更新: 2026-03-16

本站指数

×
  • 运营天数: 1393+
  • 资源总数: 47989+
  • 用户总数: 1+
  • 今日更新: 0+
  • 访问次数: 4027655+
  • 本周更新: 0+
  • 最后更新: 2026-03-16