Saltar al contenido principal
Bash

Bash: command not found — Cómo solucionar el comando no encontrado

Solución completa al error 'command not found' en Bash/Linux/macOS. Entender el PATH, exportar variables y qué hacer cuando un programa instalado no se encuentra.

Error: bash: command not found

¿Por qué ocurre?

Bash no puede encontrar el comando porque: - El programa no está instalado - El directorio donde está el binario no está en la variable `$PATH` - El programa se instaló con `--prefix` en una ruta no estándar - Hay un error tipográfico en el nombre del comando - El shebang del script es incorrecto (`#!/bin/bash` vs `#!/usr/bin/env bash`) - En macOS con Homebrew: falta la línea de eval en `.zshrc`/`.bashrc`

Solución paso a paso

1. Verificar si está instalado

# ¿Existe el binario en el sistema?
which node
which python3
which git

# Si no devuelve nada, no está en el PATH (o no está instalado) type -a node # muestra TODAS las ubicaciones

2. Ver y corregir el PATH

# Ver el PATH actual
echo $PATH

# Añadir directorio al PATH (sesión actual) export PATH="/usr/local/bin:$PATH" export PATH="$HOME/.local/bin:$PATH"

# Añadir de forma permanente (~/.bashrc o ~/.zshrc) echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc source ~/.bashrc # aplicar sin reiniciar

3. macOS con Homebrew

# Homebrew en Apple Silicon (M1/M2/M3) instala en /opt/homebrew
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

# Verificar brew doctor

4. Node.js / npm global packages

# Ver dónde instala npm los paquetes globales
npm config get prefix

# Añadir al PATH export PATH="$(npm config get prefix)/bin:$PATH"

5. nvm (Node Version Manager)

# Si usas nvm, añadir al .bashrc/.zshrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

# Luego aplicar source ~/.bashrc

6. Scripts: dar permisos de ejecución

# El script existe pero no es ejecutable
chmod +x mi-script.sh
./mi-script.sh

# O ejecutarlo con bash directamente bash mi-script.sh

7. Shebang correcto en scripts

#!/usr/bin/env bash   # ✅ Portable, usa el bash del PATH
#!/bin/bash           # ✅ Ruta fija (funciona en la mayoría de sistemas)
#!bash                # ❌ Incorrecto

Cómo evitarlo en el futuro

- Añade las rutas necesarias al `.bashrc` o `.zshrc` permanentemente - Usa `which comando` para verificar si algo está instalado antes de reportar un error - En scripts, usa `#!/usr/bin/env bash` para portabilidad - Documenta en el README qué herramientas necesita el proyecto y cómo instalarlas

BashLinuxmacOSPATHterminalshell

¿Quieres que una IA te ayude? Genera el prompt perfecto para tu error:

Generador de Prompts

¿Necesitas desarrollo a medida?

Apps web, IA, módulos ERP — cuéntame tu proyecto.