常见问题
安装相关
安装命令执行后没有反应?
请确保网络可以正常访问 GitHub。如果访问受限,可以通过 XLINGS_GITHUB_MIRROR 指定镜像:
XLINGS_GITHUB_MIRROR=https://mirror.example.com \
curl -fsSL https://mirror.example.com/openxlings/xlings/main/tools/other/quick_install.sh | bash
Windows PowerShell:
$env:XLINGS_GITHUB_MIRROR = "https://mirror.example.com"
powershell -ExecutionPolicy Bypass -c "irm https://mirror.example.com/openxlings/xlings/main/tools/other/quick_install.ps1 | iex"
安装后命令找不到?
安装完成后需要重新打开终端,或手动加载 shell 配置:
source ~/.bashrc # bash
source ~/.zshrc # zsh
如何更新 xlings 本身?
# 重新运行安装命令即可更新到最新版本
curl -fsSL https://raw.githubusercontent.com/openxlings/xlings/refs/heads/main/tools/other/quick_install.sh | bash
包管理
搜索不到想要的包?
先更新包索引:
xlings update
如果仍然找不到,说明该软件尚未收录到 xim-pkgindex。欢迎通过 Pull Request 添加新包。
安装包时下载太慢?
可以配置镜像源。在 .xlings.json 中设置:
{
"mirror": "CN"
}
如何同时安装多个版本?
直接安装不同版本即可,xlings 支持多版本共存:
xlings install gcc@15
xlings install gcc@13
然后用 xlings use 切换:
xlings use gcc 15
xlings use gcc 13
SubOS
subos 之间的包会重复下载吗?
不会。所有 subos 共享同一份包 payload,通过引用计数管理生命周期。只有最后一个引用被移除时才会清理 payload。
删除 subos 后磁盘空间没有释放?
删除 subos 只移除该 subos 的版本视图和配置。如果其他 subos 仍在使用相同的包,payload 不会被删除。可以用以下命令清理无引用的 payload:
xlings self clean
shell-level 和 global 模式有什么区别?
- shell-level(默认):启动一个子 shell,退出后回到原环境
- global(
--global):修改全局指针,影响所有新打开的终端
推荐日常使用 shell-level 模式,避免意外影响全局环境。
Sandbox
Sandbox 和普通 subos 有什么区别?
普通 subos 只隔离 PATH 和环境变量,共享宿主的 $HOME 和 dotfile。Sandbox 通过 proot/bwrap 实现文件系统级隔离,拥有独立的 $HOME、dotfile 和 /etc。
为什么 Sandbox 只支持 Linux?
Sandbox 依赖 Linux 特有的 proot 或 bubblewrap (bwrap) 工具来实现文件系统视图重定向。macOS 和 Windows 没有等效机制。
其他
xlings 和 Homebrew / apt / pacman 有什么不同?
xlings 的核心区别在于:
- 多版本管理:原生支持同一工具的多版本共存和切换
- 跨平台:同一套命令在 Linux、macOS、Windows 上通用
- 环境隔离:SubOS 机制提供工作空间级别的隔离
- 万物皆可包:不仅安装软件,还能安装配置、教程等