一款跨平台、可通过插件扩展的开发环境版本管理工具,支持 Node.js、Java、Go、Python 等。
openxlings/xlings
一个跨平台包管理器,可多版本并存安装,并通过类似操作系统的 SubOS 隔离环境免 root 运行。
- Star
- 615
- Fork
- 49
- 未关闭 Issue
- 28
- 最近提交
- 8天前
这是什么?
xlings 是一个包管理工具,可在 Linux、macOS 和 Windows 上以统一的 xpkg 格式安装二进制程序、脚本、配置和环境基础包。同一工具的多个版本可以同时安装,例如 gcc 11 与 gcc 16,并通过一条命令切换,互不冲突。
其核心概念是 SubOS:有独立工具集、主目录和策略的命名环境。SubOS 既可以只是一次 PATH 切换,也可以是带私有网络的免 root 沙箱。项目可以在工作区文件中声明所需的工具版本,团队成员执行一条安装命令即可获得相同环境。
此外,xlings 面向 AI 智能体提供了专门的使用指南、有意义的退出码、NDJSON 接口,以及可自行检查并修复状态的命令。其沙箱隔离在 Linux 上最完整;在 macOS 和 Windows 上仅隔离用户主目录,不构成安全边界。
核心功能
- 01同一软件包的多个版本可并存安装,并通过一条命令切换当前版本。
- 02在 Linux、macOS 和 Windows 上无需 root 权限即可运行。
- 03可创建命名的 SubOS 环境,拥有独立的工具、主目录和策略,Linux 下支持带私有网络的沙箱。
- 04通过工作区文件声明项目所需的工具版本,保证团队环境一致。
- 05支持官方、第三方和自建的包索引。
- 06提供面向智能体的接口,包括使用指南、退出码和 NDJSON 输出。
适用场景
- 为不同项目保留多个编译器或运行时版本,互不干扰。
- 通过一个项目文件为团队提供统一且锁定版本的开发环境。
- 在 Linux 上于沙箱化的 SubOS 中运行 AI 智能体生成或不可信的代码。
- 在没有管理员权限的机器上搭建免 root 的工具链。
快速上手
- 1
运行 README 中适用于 Linux 或 macOS 的官方安装脚本
- 2
运行 README 中适用于 Windows(PowerShell)的官方安装脚本
- 3
安装 mcpp、luban 和 node 等软件包
xlings install mcpp luban node # install (the latest)
使用前须知
- 在 macOS 和 Windows 上,--sandbox 仅隔离主目录,不是安全边界。
- 完整的沙箱隔离(文件系统、进程、网络)仅在 Linux 上可用。
收录于专题
标签
常见问题
- xlings 是什么?
- 一个跨平台包管理器,可多版本并存安装,并通过类似操作系统的 SubOS 隔离环境免 root 运行。 xlings 是一个包管理工具,可在 Linux、macOS 和 Windows 上以统一的 xpkg 格式安装二进制程序、脚本、配置和环境基础包。同一工具的多个版本可以同时安装,例如 gcc 11 与 gcc 16,并通过一条命令切换,互不冲突。
- xlings 可以免费使用吗?用的什么许可证?
- xlings 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- xlings 还在维护吗?
- 活跃维护中。xlings 最近一次提交是在 2026年10月30日。
- xlings 适合用来做什么?
- 为不同项目保留多个编译器或运行时版本,互不干扰。 通过一个项目文件为团队提供统一且锁定版本的开发环境。 在 Linux 上于沙箱化的 SubOS 中运行 AI 智能体生成或不可信的代码。 在没有管理员权限的机器上搭建免 root 的工具链。
- xlings 怎么安装和运行?
- 运行 README 中适用于 Linux 或 macOS 的官方安装脚本 运行 README 中适用于 Windows(PowerShell)的官方安装脚本 安装 mcpp、luban 和 node 等软件包: xlings install mcpp luban node # install (the latest)
- 在哪里获取 xlings?
- 源代码和安装说明在 GitHub 上:https://github.com/openxlings/xlings
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个符合 POSIX 标准的 bash 脚本,用于在用户和 shell 级别安装并切换多个 Node.js 版本。
面向 Windows 的 Node.js 版本管理工具,可安装并切换多个 Node.js 版本。
命令行工具,用于安装并在多个 Python 版本之间切换,可按全局、项目或当前 shell 设置。
一个用 Rust 编写的命令行工具,通过一个 mise.toml 文件管理项目工具、环境变量和任务。
可通过插件扩展的命令行工具,按项目统一管理多种语言运行时版本。