利用工作空间机制, 支持自动版本切换(以node为例)
speak@speak-pc:~/test/xvm$ node --version v22.12.0 speak@speak-pc:~/test/xvm$ xvm list node # 查看所有版本 23.6.0 22.12.0 speak@speak-pc:~/test/xvm$ xvm use node 23.6.0 # 切换到23.6.0 using -> target: node, version: 23.6.0 speak@speak-pc:~/test/xvm$ node --version # 验证版本 v23.6.0 speak@speak-pc:~/test/xvm$ xvm current node # 显示版本信息(xvm下有个test工作空间配置) [[test + global]] node: 23.6.0 nodejs: 23.6.0 --> [node] all targets added speak@speak-pc:~/test/xvm$ cd .. # 返回上级目录(自动切换到全局空间) speak@speak-pc:~/test$ node --version # node版本已经变成了22 v22.12.0 speak@speak-pc:~/test$ xvm current node # 查看当前版本情况 [[global]] node: 22.12.0 nodejs: 23.6.0 --> [node] all targets added speak@speak-pc:~/test$ cd xvm # 再次进入xvm目录(node会自动变成test工作空间的版本 speak@speak-pc:~/test/xvm$ node --version v23.6.0 speak@speak-pc:~/test/xvm$ 三种使用模式1-全局模式
全局工作空间 支持使用注册/移除不同版本 支持版本切换/及别名设置 支持一键关闭或开启xvm对宿主系统的影响2-local模式
基于目录的工作空间 工作空间继承控制(不继承及和全局版本进行隔离) 工作空间激活状态控制 工作空间配置可以编辑(一般用于项目控制版本) 记录使用版本并导出工作空间配置文件3-自定义工作空间 - (计划开发中)
自定义工作空间且目录无关 (一般用于特定版本配置组合记录) 其他功能类似local 开源地址 https://github.com/d2learn/xlings/tree/main/core/xvm