[bug]: invoke desktop application fails to updated due to (valid) global uv configuration

这个报错通常发生在 macOS 用户通过 Invoke 桌面应用(Community Edition)更新 InvokeAI 时,且用户全局 UV 配置文件 ~/.config/uv/uv.toml 中存在 exclude-newer 相对时间设置。优先排查桌面应用内置 launcher 版本是否为

快速结论:这个报错通常发生在 macOS 用户通过 Invoke 桌面应用(Community Edition)更新 InvokeAI 时,且用户全局 UV 配置文件 ~/.config/uv/uv.toml 中存在 exclude-newer 相对时间设置。优先排查桌面应用内置 launcher 版本是否为 1.8.2 或更新,或临时注释掉该全局配置后重试更新。

适用环境:已确认环境为 macOS、Apple Silicon(MPS)、InvokeAI v6.14.0-rc1、Python 3.12。GPU 型号为 M5 Max,安装方式为 Invoke’s Launcher。

最快修复方案:将 Invoke Launcher 更新到 v1.8.2 或更新版本(该版本已修复解析全局 uv.toml 的问题)。如果无法立即更新 launcher,可临时注释掉 ~/.config/uv/uv.toml 中的 exclude-newer 行,然后再次尝试更新。

注意事项:将全局 uv.tomlexclude-newer 注释掉属于临时规避方案,会暂时降低安装包时效性保护;launcher 修复方案请确保使用官方发布的 v1.8.2 版本,若安装程序未自动推送该版本,可能需手动下载更新。

问题场景

用户在 macOS 上通过 “Invoke Community Edition” 桌面应用触发 InvokeAI 更新。更新过程中,桌面应用内置的 uv 在解析用户全局配置文件 ~/.config/uv/uv.toml 时失败,导致更新进程中止并返回错误码。该 uv.toml 配置在系统其他 uv 使用场景中均正常,仅在 Invoke 桌面应用更新时触发解析异常。

报错原文

error: Failed to parse: `/Users/samm/.config/uv/uv.toml`
  Caused by: TOML parse error at line 4, column 17
  |
4 | exclude-newer = "3 days"
  |                 ^^^^^^^^
failed to parse year in date "3 days": failed to parse "3 da" as year (a four digit integer): invalid digit, expected 0-9 but got
Failed to install invokeai python package: Process exited with code 2

原因分析

根本原因是 Invoke 桌面应用随附的 uv 二进制版本过旧,无法解析较新版本 uv 支持的有效配置项 exclude-newer 的“相对时间”写法(如 "3 days")。exclude-newer 自 2025 年 12 月起成为 uv 的合法配置项,配置内容本身完全符合 uv 规范,并非用户配置错误。由于 uv 会读取全局配置(即使用户通过桌面应用间接调用),旧版 uv 在处理该全局配置时抛出 TOML 解析错误。修复代码在 Invoke Launcher(关联仓库)中已合入,但长时间未发布新版本导致问题持续存在。

环境排查

  • 操作系统:macOS(Apple Silicon)
  • GPU:Apple Silicon(MPS),型号 M5 Max
  • InvokeAI 版本:v6.14.0-rc1
  • Python 版本:3.12
  • 安装方式:Invoke’s Launcher
  • 全局 uv 配置:~/.config/uv/uv.toml 中含 exclude-newer
  • 桌面应用内置 launcher 版本:需确认是否为 1.8.2 或更新版本(旧版含此 bug)

解决步骤

  1. 优先确认并更新 Invoke Launcher 到 v1.8.2 或更新版本。该版本已修复旧版 launcher 中 uv 解析全局配置时报错的问题。官方发布地址为 https://github.com/invoke-ai/launcher/releases/tag/v1.8.2
  2. 如果无法立即更新 launcher,可临时注释掉 ~/.config/uv/uv.toml 文件中 exclude-newer 一行(使用 # 前缀),保存文件后重新通过桌面应用发起更新。此操作在 Issue 中已被确认可以让更新流程继续执行。
  3. 若使用临时规避方案,在 InvokeAI 更新完成后,建议恢复 uv.toml 原配置,并等待后续 launcher 正式发布。

验证方法

重新在 “Invoke Community Edition” 桌面应用中触发更新流程,观察是否仍出现 TOML 解析错误。exclude-newer 解析失败时会在日志中显示 failed to parse year in date "3 days" 错误;若更新流程能正常进入包下载与安装阶段,说明问题已解决。

参考来源

invoke-ai/InvokeAI #9498

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 18322

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注