当前位置: 首页 > 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.dtcms.com/a/325486.html

相关文章:

  • 运维学习Day21——LAMP/LNMP 最佳实践
  • Django Request 与 DRF Request 的区别
  • 从 GPT-2 到 gpt-oss:架构进步分析
  • 企业级 IT 运维服务平台数据备份方案:基于 rsync 的自动化实现
  • 时钟频率与带宽
  • 低延迟RTSP|RTMP视频链路在AI驱动无人机与机器人操控中的架构实践与性能优化
  • FlinkSql(详细讲解二)
  • 深入解析游戏引擎(OGRE引擎)通用属性系统:基于Any类的类型安全动态属性设计
  • 服务器配置实战:从 “密码锁” 到 “分工协作” 的知识点详解
  • 【linux】企业级WEB应用服务器tomcat
  • Uipath Studio中的文件管理
  • 基于Springboot+UniApp+Ai实现模拟面试小工具九:移动端框架搭建
  • 4种无需WiFi将数据从iPhone传输到iPhone的方法
  • GraphRAG:用知识图谱赋能检索增强生成,攻克复杂推理难题
  • 【MySQL基础篇】:MySQL索引——提升数据库查询性能的关键
  • 力扣109:有序链表转换二叉搜索树
  • 深入浅出设计模式——行为型模式之观察者模式 Observer
  • vlan (hybird) 实验
  • Python bisect 库详细介绍
  • 【Java基础】你认为Java的优势是什么
  • 【C语言入门级教】函数指针变量
  • 当 WAF 遇上黑客——一次混合式攻击的应急复盘
  • GO学习记录三
  • 5G 非地面网络(NTN)最专业的方案
  • Docker 详解(保姆级安装+配置+使用教程)
  • 【MySQL✨】服务器安装 MySQL 及配置相关操作
  • 零 shot 语义+在线闭环:深度学习让机器人学会“主动”
  • JavaWeb-后端Web实战(IOC + DI)
  • 第八篇:交互入门:鼠标拾取物体
  • TRS(总收益互换)系统架构设计:多市场交易的技术实现分析