当前位置: 首页 > news >正文

LangVM —— 一站式多语言版本管理工具,让 Java、Python、Go、Node.js 切换更丝滑

在日常开发中,很多人都会遇到这样的问题:

  • 项目 A 需要 Java 8,项目 B 却要用 Java 17

  • 有的脚本需要 Python 3.9,而新项目要求 Python 3.11

  • 前端用 Node.js 18,老项目又得用 Node.js 14

如果手动安装和切换这些版本,不仅麻烦,还容易弄乱环境变量。
于是,LangVM 出现了——一个通用的多语言版本管理器,帮你轻松安装、管理、切换各种热门编程语言版本。


🌟 主要特性

  • 🚀 多语言支持 — 一次搞定 Java、Python、Go、Node.js、Rust 等

  • 📦 简单安装 — 一条命令安装任意版本

  • 🔄 快速切换 — 瞬间完成版本切换

  • 🌍 跨平台 — 支持 Windows、macOS、Linux

  • ⚙️ 可扩展 — 可以自定义添加新语言适配器

  • 🔧 环境管理 — 自动配置 PATH 和环境变量

  • 🇨🇳 国内加速 — 默认支持清华大学镜像站,下载更快


🚀 安装 LangVM

LangVM 提供两种安装方式:

方法一:从源码安装

# 克隆仓库
git clone https://github.com/lemon-332/langvm
cd langvm# Windows (PowerShell 管理员模式)
powershell -ExecutionPolicy Bypass -File scripts/setup.ps1# Linux/macOS
bash scripts/setup.sh

方法二:使用 pip 安装

pip install -r requirements.txt
pip install -e .

🛠 快速上手

1. 查看支持的语言

langvm languages

2. 列出可用版本

langvm list java
langvm list python

3. 安装指定版本

langvm install java 17
langvm install python 3.11.0
langvm install go 1.20.0
langvm install nodejs 18.0.0

4. 切换版本

langvm use java 17
langvm use --system python 3.11.0  # 系统级(需要管理员权限)

5. 激活环境

# Bash/Zsh
eval "$(langvm env)"# PowerShell
Invoke-Expression (langvm env --shell powershell)

6. 查看当前版本

langvm current
langvm current java

7. 卸载版本

langvm uninstall java 17

🔑 管理员权限说明

某些操作需要管理员权限,例如:

  • 系统级别版本切换 (--system)

  • 修改系统 PATH

  • 设置系统环境变量(如 JAVA_HOME, PYTHON_HOME

Windows 下直接用管理员 PowerShell 运行即可;Linux/macOS 下用 sudo


⚙️ 配置

LangVM 的配置文件位于 ~/.langvm/config.yaml,例如:

install_dir: "/opt/langvm/versions"mirrors:java: "https://mirrors.tuna.tsinghua.edu.cn/Adoptium/"python: "https://mirrors.tuna.tsinghua.edu.cn/python/"go: "https://mirrors.tuna.tsinghua.edu.cn/golang/"nodejs: "https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/"proxy:enabled: truehttp: "http://proxy.company.com:8080"https: "https://proxy.company.com:8080"

📋 支持的语言

语言状态说明
☕ Java✅ 完全支持OpenJDK (Temurin) LTS 支持
🐍 Python✅ 完全支持官方 CPython
🐹 Go✅ 完全支持官方版本
📦 Node.js✅ 完全支持官方版本(含 LTS)
🦀 Rust🚧 开发中即将支持
💎 Ruby🚧 开发中即将支持

💡 使用场景示例

1. Java 多版本切换

langvm install java 8
langvm install java 11
langvm install java 17langvm use java 11
eval "$(langvm env)"
java -version  # Java 11langvm use java 17
eval "$(langvm env)"
java -version  # Java 17

2. Python 多版本切换

langvm install python 3.9.0
langvm install python 3.10.0
langvm install python 3.11.0langvm use python 3.11.0
eval "$(langvm env)"
python --version  # Python 3.11.0

🔍 常见问题

  • 安装失败/下载慢
    → 检查网络或代理设置(已默认配置清华镜像)

  • 切换版本后命令没生效
    → 确保执行了 eval "$(langvm env)" 或重启 Shell

  • 找不到版本
    → 用 langvm list <language> 确认版本号是否正确


📜 总结

LangVM 能帮你快速安装、切换多个语言版本,支持跨平台、自动配置环境变量,并且为国内开发者优化了镜像源,速度更快。
无论是前端、后端还是全栈开发,都能省下大量环境配置时间。

👉 GitHub 项目地址:https://github.com/lemon-332/langvm

http://www.lryc.cn/news/617228.html

相关文章:

  • CVE-2019-0708复刻
  • buildroot编译qt 5.9.8 arm64版本踩坑
  • Windows文件时间修改指南:从手动到自动化
  • AI驱动的智能编码革命:从Copilot到全流程开发自动化
  • FFmepg源码系列-avformat_open_input()
  • Python调用C/C++函数库的多种方法与实践指南
  • 聊天室全栈开发-保姆级教程(Node.js+Websocket+Redis+HTML+CSS)
  • MathType关联Wps实现公式编辑【Tex语法适配】
  • 2438. 二的幂数组中查询范围内的乘积
  • 【liunx】web高可用---nginx
  • 编译Android版本可用的高版本iproute2
  • 机器学习 - Kaggle项目实践(1)Titanic
  • C++多态详解
  • SDI设计中,为何SD-SDI模式下,接收器用DRU实现,在3G-SDI模式下,使用transceiver实现
  • 多轮会话记忆的核心挑战
  • Spring Boot 中 @Transactional 解析
  • 自动化备份全网服务器数据平台项目
  • P2865 [USACO06NOV] Roadblocks G
  • ListNode* dummy = new ListNode();什么意思
  • 【功能测试】软件集成测试思路策略与经验总结
  • 使用纯NumPy实现回归任务:深入理解机器学习本质
  • 小结: getSpringFactoriesInstances从 `spring.factories` 文件中加载和实例化指定类型的类
  • 一维码+二维码+字符识别
  • 关于开发面对颠覆性需求变更的思考
  • SpringBoot 实现 Excel 导入导出功能的三种实现方式
  • MySQL语句,体系结构等基础知识解析
  • 量子计算:叩响金融定价革命的大门——期权定价的范式转移
  • 【PyTorch学习笔记 - 01】 Tensors(张量)
  • MLAG双活网络妙招:BGP + 静态VRRP实现智能负载均衡
  • MATLAB实现遗传算法求解路网路由问题