![[BUG]: Docs inconsistency: `ANYTHING_LLM_INSTALL_DIR` cannot be used with root-owned paths like `/opt`](https://www.chat-gpts.plus/wp-content/uploads/2026/06/5875-46bd95be.jpg)
[BUG]: Docs inconsistency: `ANYTHING_LLM_INSTALL_DIR` cannot be used with root-owned paths like `/opt`
快速结论:该问题发生在 Linux 系统下尝试使用 ANYTHING_LLM_INSTALL_DIR 环境变量将 AnythingLLM 安装到 /opt 等 root 拥有的目录时,安装脚本会因检测到以 root 身份运行而拒绝执行。优先排查是否尝试以 sudo 方式运行安装脚本,并确认目标目录是否为当前用户可写路径。
问题场景
用户在 Linux(Ubuntu Studio 26.04,KDE 6.6.4 / Wayland,x64)上通过桌面 App 方式运行 AnythingLLM(版本 1.14.1)。用户按照文档说明,设置 ANYTHING_LLM_INSTALL_DIR 环境变量并搭配 sudo 执行安装脚本,希望将软件安装到 /opt/anythingllm 这样的系统级目录。
报错原文
This script should not be run as root. Please run it as a regular user.
原因分析
这是一个文档与实际行为不一致的问题。安装脚本出于安全考虑,会阻止以 root 身份运行(违反最小权限原则),因此 ANYTHING_LLM_INSTALL_DIR 设计上仅支持当前用户可写的路径(如 $HOME)。当用户通过 sudo ANYTHING_LLM_INSTALL_DIR=/opt/anythingllm ./installer.sh 尝试写入 /opt 这类 root 所有的目录时,脚本会因为检测到 root 用户而立即退出。
环境排查
- 操作系统:Linux(Ubuntu Studio 26.04 或其他 Linux 发行版)
- 架构:x64
- AnythingLLM 版本:1.14.1 及更早版本
- 安装模式:桌面 App(Desktop app)
- 执行安装脚本时是否使用了
sudo - 目标安装目录是否为 root 所有(如
/opt、/usr/local)
解决步骤
- 方案一:安装到用户主目录(推荐)
直接运行安装脚本,不带
sudo,系统会默认安装到$HOME下:./installer.sh之后手动将生成的 AppImage 移动到目标系统目录:
sudo mv ~/AnythingLLMDesktop.AppImage /opt/anythingllm/AnythingLLMDesktop.AppImage - 方案二:预创建并修改目录所有权(可优先尝试)
如果坚持需要指定安装目录,可先以 root 权限创建目标目录,并将所有权更改为当前用户:
sudo mkdir -p /opt/anythingllm && sudo chown $USER:$USER /opt/anythingllm然后以普通用户身份运行安装脚本:
ANYTHING_LLM_INSTALL_DIR=/opt/anythingllm ./installer.sh - 方案三:等待或手动更新文档
该问题已被标记为“按设计工作”(working as intended),开发团队已提交文档更新(commit
504c9dc),明确说明ANYTHING_LLM_INSTALL_DIR仅支持用户可写路径。可以关注官方文档的后续版本。
验证方法
运行安装脚本后,检查目标目录下是否存在 AnythingLLMDesktop.AppImage 文件,且该文件可以被当前用户正常执行。如果安装过程中没有出现 This script should not be run as root 报错,且应用可正常启动,即表示问题已解决。


