feat: add bash infra installer and diagnostic functions
10 funciones Bash del dominio infra: instaladores de herramientas de desarrollo (install_go, install_nodejs, install_pnpm, install_python312, install_uv, install_volta, install_wails), diagnostico del sistema (analyze_disk_space, detect_wsl, list_listening_ports). Automatizan la configuracion del entorno de desarrollo en Linux/WSL.
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env bash
|
||||
# install_pnpm
|
||||
# ------------
|
||||
# Instala pnpm globalmente usando npm.
|
||||
# Verifica que npm esté disponible antes de instalar.
|
||||
# Idempotente: informa si pnpm ya está instalado.
|
||||
#
|
||||
# USO:
|
||||
# source install_pnpm.sh
|
||||
# install_pnpm
|
||||
|
||||
install_pnpm() {
|
||||
echo "Instalando pnpm..."
|
||||
echo ""
|
||||
|
||||
# Verificar si pnpm ya está instalado
|
||||
if command -v pnpm &>/dev/null; then
|
||||
local current_version
|
||||
current_version="$(pnpm --version 2>/dev/null || echo "desconocida")"
|
||||
echo "pnpm ya está instalado (versión: ${current_version})."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Verificar que npm esté disponible
|
||||
if ! command -v npm &>/dev/null; then
|
||||
echo "install_pnpm: npm no está instalado (requerido para instalar pnpm)" >&2
|
||||
echo " Instala Node.js primero con install_nodejs" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
local npm_version
|
||||
npm_version="$(npm --version 2>/dev/null || echo "?")"
|
||||
echo "npm detectado: ${npm_version}"
|
||||
echo ""
|
||||
|
||||
echo "Instalando pnpm globalmente (npm install -g pnpm)..."
|
||||
if ! npm install -g pnpm; then
|
||||
echo "install_pnpm: falló la instalación de pnpm" >&2
|
||||
echo " Intenta con sudo: sudo npm install -g pnpm" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Verificar instalación
|
||||
if ! command -v pnpm &>/dev/null; then
|
||||
echo "install_pnpm: pnpm no está disponible después de la instalación" >&2
|
||||
echo " Verifica que npm/bin esté en tu PATH" >&2
|
||||
return 1
|
||||
fi
|
||||
|
||||
local installed_version
|
||||
installed_version="$(pnpm --version)"
|
||||
echo ""
|
||||
echo "pnpm instalado correctamente: ${installed_version}"
|
||||
echo ""
|
||||
echo "Comandos útiles:"
|
||||
echo " pnpm install - Instalar dependencias"
|
||||
echo " pnpm add <pkg> - Agregar paquete"
|
||||
echo " pnpm run <cmd> - Ejecutar script"
|
||||
}
|
||||
|
||||
# Ejecutar si se invoca directamente
|
||||
if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
|
||||
install_pnpm "$@"
|
||||
fi
|
||||
Reference in New Issue
Block a user