跳转到内容

Symlink target not found: .DirIcon broken symlink causes - CC Switch

Quick fix

AppImage 安装失败,需手动修复 .DirIcon 符号链接为相对路径。

报错原文
Symlink target not found:

CC Switch 基于 Tauri 构建的 Linux AppImage 中,`.DirIcon` 文件被创建为一个指向 CI 构建机器绝对路径(如 `/home/runner/work/cc-switch/.../CC Switch.png`)的符号链接。当用户下载该 AppImage 并在本地解压或安装时,该绝对路径不存在,导致 `AppManager` 等工具报错 "Symlink target not found" 并安装失败。

这是一个上游 Tauri bundler (`tauri-bundler`) 的已知问题(见 tauri-apps/tauri#15110)。目前项目已在 CI 发布流程中加入 Workaround:在打包后提取 AppImage,将 `.DirIcon` 修改为相对路径,然后重新打包。如果你使用的是最新发布的版本,此问题应已修复;若仍遇到此错误,说明你使用的版本可能未包含该修复,或需要手动执行修复步骤。

  1. 使用 --appimage-extract 参数解压 AppImage 到当前目录。

  2. 进入解压后的 squashfs-root 目录,检查 .DirIcon 是否指向不存在的绝对路径。

  3. 将 .DirIcon 符号链接修改为指向正确的相对路径(通常是 ./CC Switch.png 或类似名称,具体取决于你的 AppDir 内图标文件名)。

    示例:假设图标文件名为 'CC Switch.png'
    cd squashfs-root
    rm .DirIcon
    ln -s "CC Switch.png" .DirIcon
  4. 重新打包 AppImage(可选,但推荐以恢复可执行性),或直接尝试通过 AppManager 安装解压后的目录。

Toolclaude-code
Version3.16.4
PlatformsLinux
为什么我的 AppImage 图标不显示?
这通常也是由于 .DirIcon 符号链接断裂导致的。请按照上述修复步骤检查并修正 .DirIcon 的路径。
这个问题什么时候能彻底修复?
这是上游 Tauri 的问题(tauri-apps/tauri#15110)。CC Switch 团队已在 CI 中添加了临时修复脚本,确保新发布的版本不受影响。等待上游合并 PR #15404 后可移除该 Workaround。

这是一个非官方社区 wiki,与 cc-switch 作者及项目本身无隶属关系。内容整理自项目公开的 GitHub issues。本站不分发任何软件。