Solución al error “JAVA_HOME is not set” en Linux para React Native
Si estás desarrollando con React Native en Linux y encuentras el siguiente error al ejecutar npm start
seguido de a
(“Run on Android”):
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the location of your Java installation.
Esto significa que tu sistema no encuentra la instalación de Java, ya sea porque no está configurada correctamente o no está instalada. A continuación, te explico paso a paso cómo resolverlo en Linux.
Paso 1: Verificar si Java está instalado
Primero, verifica si Java está instalado ejecutando:
java -version
Si obtienes un mensaje indicando que el comando no está disponible, instala OpenJDK (preferiblemente la versión 11 o 17):
sudo apt update
sudo apt install openjdk-17-jdk
Paso 2: Encontrar la ruta de instalación de Java
Una vez instalado, localiza la ruta del Java Development Kit (JDK). Para ello, ejecuta:
sudo update-alternatives --config java
Esto te mostrará una lista de las versiones de Java disponibles en tu sistema. La ruta que necesitas se verá similar a esta:
/usr/lib/jvm/java-17-openjdk-amd64
Toma nota de esta ruta, ya que la usarás para configurar JAVA_HOME
.
Paso 3: Configurar la variable de entorno JAVA_HOME
Edita el archivo de configuración de tu shell (normalmente ~/.bashrc
o ~/.zshrc
si usas Zsh):
nano ~/.bashrc
Agrega las siguientes líneas al final del archivo:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
Asegúrate de reemplazar /usr/lib/jvm/java-17-openjdk-amd64-openjdk-amd64
con la ruta obtenida en el paso anterior.
Paso 4: Recargar la configuración del shell
Para aplicar los cambios realizados, ejecuta:
source ~/.bashrc
Paso 5: Verificar la configuración
Confirma que la variable JAVA_HOME
está configurada correctamente:
echo $JAVA_HOME
Esto debería mostrar la ruta que configuraste, como:
/usr/lib/jvm/java-17-openjdk-amd64
Paso 6: Ejecutar React Native
Ahora, vuelve a intentar ejecutar tu proyecto:
npm start
Selecciona la opción a
para “Run on Android” y debería funcionar sin problemas.