中文 | English
A modern development environment manager for Windows and macOS, providing one-click installation and multi-version management for popular development tools and databases.
- Multi-Platform Support:
win-x64,darwin-x64,darwin-arm64with automatic platform detection and Rosetta compatibility - Online Installation: Download and install from official mirrors (npmmirror, EDB, Foojay, etc.)
- Multi-Version Management: Install and switch between multiple versions seamlessly
- Shim-Based Architecture: Version switching without administrator privileges using
~/.envhub/shims - Supported Tools:
- Languages: Python, Node.js, Java (Temurin, Oracle, Corretto, GraalVM, Zulu, Liberica, Microsoft)
- Databases: PostgreSQL (with pgvector extension), Redis (Redis Stack / Windows port)
- Smart Features:
- Download resume support for interrupted downloads
- Package caching for faster re-installation
- Real-time installation progress tracking
- Automatic PATH management
- Modern GUI: Built with Electron + Vue 3 + TypeScript + Arco Design
Download the latest release for your platform:
- macOS:
EnvHub-{version}-arm64.dmg(Apple Silicon) orEnvHub-{version}-x64.dmg(Intel) - Windows:
EnvHub-{version}-win-x64.exe
Note: EnvHub is an open-source application without code signing. This is a deliberate choice as the project is 100% transparent and maintained by developers for developers.
macOS Users:
On first launch, macOS Gatekeeper will block the app. To open:
- Right-click (or Control-click) the app icon
- Select "Open"
- Click "Open" in the dialog
Or remove quarantine attribute in Terminal:
xattr -cr /Applications/EnvHub.appWindows Users:
Windows SmartScreen may show a warning. To proceed:
- Click "More info"
- Click "Run anyway"
After First Launch:
- The app will automatically detect your platform and show available tools
- Browse Languages or Databases tabs to see what you can install
- Navigate to Languages or Databases tab
- Click Refresh to fetch latest versions from online sources
- Select the version you want to install
- Click Install and wait for download to complete
- The tool will be automatically extracted and configured
After installation, click Set as Current to:
- Generate shim scripts in
~/.envhub/shims - Make the selected version active globally
Add ~/.envhub/shims to your system PATH:
macOS/Linux:
# Add to ~/.zshrc or ~/.bashrc
export PATH="$HOME/.envhub/shims:$PATH"Windows:
- Search for "Environment Variables" in Windows Settings
- Edit User PATH variable
- Add
%USERPROFILE%\.envhub\shims
Or use the built-in PATH manager in Settings tab for one-click setup.
Open a new terminal and run:
python --version
node --version
java --version
psql --version
redis-server --version~/.envhub/
├── cache/
│ ├── downloads/ # Downloaded installation packages
│ ├── temp/ # Temporary extraction files
│ └── versions-cache.json # Cached version lists (24h TTL)
├── toolchains/ # Installed tool versions
│ ├── python/{version}/{platform}/
│ ├── node/{version}/{platform}/
│ ├── java/{version}/{platform}/
│ └── pg/{version}/{platform}/
├── shims/ # Version switching scripts
│ ├── python, pip, python3
│ ├── node, npm, npx, corepack, pnpm
│ ├── java, javac, jar
│ ├── psql, pg_ctl, postgres, initdb
│ └── redis-server, redis-cli
├── logs/ # Installation and runtime logs
├── pg/ # PostgreSQL data directories
│ └── {major}/
│ └── {cluster}/
│ ├── data/ # Database files
│ └── logs/ # Server logs
└── state.json # Installed versions and active selections
- Node.js 18+ and pnpm
- Git
# Clone repository
git clone <repository-url>
cd envhub
# Install dependencies
pnpm install
# Run in development mode
pnpm dev# Development
pnpm dev # Start dev server with HMR
# Type checking
pnpm typecheck # Check all modules
pnpm typecheck:node # Check main + preload
pnpm typecheck:web # Check renderer
# Code quality
pnpm lint # Lint code
pnpm format # Format code
# Build
pnpm build # Build for production
pnpm build:mac # Build macOS installer
pnpm build:win # Build Windows installer
pnpm build:linux # Build Linux installersrc/main/: Electron main processenvhub/core/: Core modules (platform, paths, logging, extraction)envhub/registry/: Online version sources and downloaderenvhub/runtimes/: Language installers (Python, Node, Java)envhub/databases/: Database installers (PostgreSQL, Redis)envhub/env/: Environment management (shims, PATH, autostart)
src/preload/: Secure IPC bridge viacontextBridgesrc/renderer/: Vue 3 applicationviews/: Main views (Languages, Databases, Settings, Logs)components/: Reusable UI componentsstore/: Pinia state management
- Built with Electron, Vue 3, and TypeScript
- UI components from Arco Design
- Uses python-build-standalone for Python distributions
- Uses Foojay DiscoAPI for Java distributions
- Uses EDB binaries for PostgreSQL
- Uses Redis Stack for macOS/Linux Redis
- Uses tporadowski/redis for Windows Redis