文章摘要
不需要 Python 环境,不需要克隆源码,双击即可运行。
请到 Releases 页面 下载对应操作系统的最新版本:
[td]
| 系统 | 下载文件 | 说明 |
| 🪟 Windows | env-auto-setup.exe | 双击运行,无需安装 |
| 🍎 macOS (Apple Silicon) | env-auto-setup-macos-arm64.zip | 解压后双击 env-auto-setup.app |
| 🍎 macOS (通用) | env-auto-setup-macos.zip | 解压后双击 env-auto-setup.app |
| 🐧 Linux (x64) | env-auto-setup-linux-x64 | chmod +x 后直接运行 |
首次启动提示
- macOS:由于未做代码签名,首次打开时系统可能提示”无法验证开发者”。请到「系统设置 → 隐私与安全性」下方点击 “仍要打开”;或用 xattr -cr env-auto-setup.app 移除隔离属性。
- Windows:Defender / SmartScreen 可能弹出”未识别应用”,点击 “更多信息 → 仍要运行” 即可。
- Linux:如果双击无响应,请在终端执行 chmod +x env-auto-setup-linux-x64 && ./env-auto-setup-linux-x64。
💡 只想看看代码 / 自己二次开发?往下翻到 开发者指南。
🌱 开发背景
每次入职新公司、拿到一台新电脑、或者给同事讲解怎么搭建后端 / 前端开发环境,都要重复一系列繁琐的步骤:
- 找官网 —— Oracle 现在要登录才能下 JDK?Adoptium Temurin 是哪个包才对?MySQL 官方的 zip 藏在哪个二级页面?
- 对系统 / 架构 —— macOS 是 Intel 还是 Apple Silicon?Linux 用 glibc 哪个版本?
- 解压 + 放到”正确”的位置 —— 一堆 C:\Program Files\… 还是 ~/tools/… 的目录规划。
- 配置环境变量 —— Windows 上要点开”高级系统设置 → 环境变量 → 用户变量 / 系统变量 → 新建”;macOS/Linux 要区分 .zshrc、.bash_profile、.bashrc、.profile 里到底写在哪个才生效。
- 验证 —— 打开新终端 java -version、mvn -v …… 一个不对就重来。
一台电脑做完至少半小时,多台电脑或者带新人上手时更是重复劳动。能不能把这些交给一个工具? 于是有了这个项目:
让「新机器 → 一套完整开发环境」这件事变成 点几下鼠标 就搞定。
📌 项目描述
env-auto-setup 是一款开源的桌面小工具,目标是把开发者最常用的语言运行时、构建工具、中间件的下载与配置全部自动化。
它做了这几件事:
- ✅ 智能识别系统:自动判断 Windows / macOS / Linux + CPU 架构(x64 / arm64),挑选正确的官方分发包
- ✅ 动态版本抓取:启动时向各官方 API / 归档索引拉取最新可用版本列表(Adoptium、Apache Maven / Tomcat、python.org、Node.js dist、GitHub Releases、Anaconda Repo),不再依赖硬编码
- ✅ 可搜索下拉框:版本列表长?直接键入 21 / 3.12 / LTS 实时过滤
- ✅ 自动检测已装环境:如果系统已经有 java / mvn / python,会显示 ✓ 已配置 状态并禁用”配置环境变量”按钮,避免重复写入
- ✅ 一键下载 → 解压 → 配环境变量:Windows 下走 winreg,macOS/Linux 下带 marker 幂等写入 shell 配置文件
- ✅ 安装器模式:Miniconda 这类 .exe / .sh 安装器,工具会以静默参数自动执行安装
- ✅ 现代化 UI:无边框自定义标题栏、卡片式布局、渐变进度条、彩色分级日志、状态胶囊标签
✨ 功能特性[td]
| 特性 | 说明 |
| 🖥️ 跨平台 | 一份代码同时支持 Windows / macOS / Linux;ARM64 分支自动切换(如 Apple Silicon 下 JDK 走 aarch64、Node 走 arm64) |
| 📦 一键装配 | 内置 8 大 常用开发组件,从下载 → 解压 → 环境变量配置全流程自动化 |
| 🌐 动态版本抓取 | 后台线程并发调用各组件官方 API / 索引,拉取最新可用版本,抓取失败自动降级到内置默认清单 |
| 🔍 智能检测 | 优先检查 XXX_HOME 环境变量,然后回退到 PATH 中的可执行文件;探测到即视为已配置 |
| 🎯 可搜索下拉框 | 版本多?直接键入关键字实时过滤,回车即可选中 |
| 🛠️ 环境变量写入 | Windows:winreg + setx;macOS/Linux:写入带标记的 shell 配置块,幂等更新 |
| 🚀 安装器模式 | 支持 .exe / .sh 静默安装(Miniconda),无弹窗交互 |
| 📊 实时反馈 | 进度条显示下载速度和大小,可随时取消;日志区彩色分级输出 |
| 🎨 现代化界面 | 圆角卡片 + 阴影、渐变进度条、状态胶囊标签、无边框自定义窗口 |
| 🧠 偏好记忆 | 记住上一次每个组件选择的版本,下次启动自动恢复 |
| 💰 打赏支持 | 内置微信 / 支付宝 / QQ 二维码,一键支持作者 |
📦 支持的组件[td]
| 组件 | 显示名 | 环境变量 | 检测命令 | 默认版本 |
| JDK | JDK (Temurin) | JAVA_HOME | java -version | 21 / 17 (LTS) / 11 / 8 |
| Maven | Apache Maven | MAVEN_HOME | mvn -v | 3.9.x / 3.8.x |
| Tomcat | Apache Tomcat | CATALINA_HOME | catalina version | 10.1 / 9.0 / 8.5 |
| MySQL | MySQL Server | MYSQL_HOME | mysql –version | 8.0.x / 5.7.x |
| Python | Python | — (走 PATH) | python –version | 3.12 / 3.11 / 3.10 / 3.9 |
| Node.js | Node.js | NODE_HOME | node –version | 20 LTS / 18 LTS / 16 |
| Git | Git | — | git –version | MinGit for Windows / 系统自带 |
| Miniconda | Miniconda | CONDA_HOME | conda –version | py312 / py311 / py310 |
💡 启动应用后,”⟳ 刷新版本”按钮会自动请求各官方源,拉取当前所有可用版本。抓取失败会回退到硬编码的内置清单,保证程序在离线环境下也可用。
