-
Notifications
You must be signed in to change notification settings - Fork 215
Description
在 Fedora Linux 43(KDE Plasma)系统上,通过 npm 全局安装了 Claude Code,通过 Flatpak 安装了 Obsidian。Claudian 插件始终无法找到 Claude CLI,即使在设置中提供了绝对路径。错误信息提示路径不存在,但相同的路径在终端中可以完美工作。
复现步骤
重现问题的步骤:
全局安装 Claude Code:sudo npm install -g @anthropic-ai/claude-code
通过 Flatpak 安装 Obsidian:flatpak install flathub md.obsidian.Obsidian
启动 Obsidian,安装 Claudian 插件(v1.3.54),打开其设置。
在“Claude CLI 路径”中输入从 which claude 获取的路径(例如 /usr/local/bin/claude)。
插件显示红色错误:“路径不存在”或类似提示。
尝试直接输入 cli.js 的路径:/usr/local/lib/node_modules/@anthropic-ai/claude-code/cli.js – 同样的错误。
预期行为
插件应接受有效的路径并能够执行 Claude CLI 命令。
截图/日志
which claude 输出:/usr/local/bin/claude
ls -l /usr/local/bin/claude 输出:
text
lrwxrwxrwx. 1 root root 48 3月10日 21:53 /usr/local/bin/claude -> ../lib/node_modules/@anthropic-ai/claude-code/cli.js
ls -l /usr/local/lib/node_modules/@anthropic-ai/claude-code/cli.js 输出:
text
-rwxr-xr-x. 1 root root 11982585 3月10日 21:53 /usr/local/lib/node_modules/@anthropic-ai/claude-code/cli.js
Flatpak 应用 ID:md.obsidian.Obsidian
已尝试的 Flatpak 权限覆盖:
bash
flatpak override --user --filesystem=/usr/local/bin md.obsidian.Obsidian
flatpak override --user --filesystem=/usr/local/lib/node_modules md.obsidian.Obsidian
临时禁用 SELinux 进行测试(sudo setenforce 0)– 问题依旧。
环境信息:
操作系统:Fedora Linux 43(工作站版),KDE Plasma 桌面
Obsidian 版本:1.12.4(Flatpak)
Claudian 插件版本:1.3.54
Claude Code 版本:2.1.72(npm 全局安装)
Node.js 版本:v22.22.0(来自 /usr/bin/node)
补充说明
claude 命令在终端中可以完美运行,即使使用完整路径 /usr/local/bin/claude --version 也正常。问题似乎与 Flatpak 沙盒有关,即使已经授予了对相关目录的文件系统访问权限,问题依然存在。我还尝试了在插件设置中设置自定义 PATH 环境变量(/usr/local/bin:/usr/bin:/bin)并清空 CLI 路径字段,但插件仍然无法找到 claude。使用直接的 cli.js 路径并在插件中指定 Node.js 路径(如果有该选项)也会出现同样的问题。
任何关于如何让插件与 Flatpak 安装配合使用的指导,或解决方案的建议,将不胜感激!谢谢!