GitHub - Programmercito/switcher-version-tools
switchtool - Gestor de Entornos para Windows 🚀
switchtool es un CLI potente y minimalista diseñado para desarrolladores que necesitan cambiar rápidamente entre versiones de sus herramientas favoritas en Windows. Olvida configurar el %PATH% manualmente o pelear con variables de entorno cada vez que cambias de proyecto.
🌟 Lenguajes y Herramientas Soportadas
- Java (JDK)
- Maven
- Gradle
- PHP
- Go (GOROOT)
- Node.js
✨ Características
- Descarga Automática: Soporta URLs directas (Adoptium, Apache, etc.) o archivos locales.
- Formatos Soportados: Extrae automáticamente archivos
.zip,.tar.gzy.tgz. - Gestión Inteligente de PATH: Automatiza la limpieza y actualización del PATH de usuario mediante PowerShell.
- Variables de Entorno: Setea automáticamente
JAVA_HOME,MAVEN_HOME,GRADLE_HOME,PHP_HOME,GOROOT, yNODE_HOME. - Detección de Directorios: Si el archivo comprimido tiene una carpeta raíz extra (común en JDKs), switchtool la detecta y entra en ella automáticamente.
- Interfaz Amigable: Colores, barra de progreso y mensajes claros.
🛠 Instalación
Opción 1: Descargar Binario
Ve a la sección de Releases y descarga el switchtool.exe. Agrégalo a tu PATH.
Opción 2: Compilar desde fuente (requiere Go)
git clone https://github.com/Programmercito/switcher-version-tools.git
cd switcher-version-tools
go build -o switchtool.exe🚀 Uso rápido
1. Instalar una nueva versión (Descarga)
# Sintaxis: switchtool <tipo> <alias> <url_o_path>
switchtool java jdk17 https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_windows_hotspot_17.0.9_9.zip2. Usar un archivo local
switchtool php 8.2 C:\Downloads\php-8.2.10-Win32-vs16-x64.zip
3. Cambiar entre versiones
switchtool jdk17 switchtool php8.2
4. Listar lo que tienes instalado
switchtool list
# o
switchtool ls📝 Notas de Windows
Para que los cambios en las variables de entorno se reflejen en la terminal actual:
- Recomendamos usar Chocolatey y ejecutar
refreshenv. - O simplemente cierra y abre tu terminal (PowerShell, CMD o Windows Terminal).
🤝 Contribuir
¡Toda ayuda es bienvenida! Si quieres añadir soporte para más herramientas o mejorar la lógica de extracción, abre un Issue o envía un Pull Request.
Hecho con amor en Go por Programmercito.