
Hola, tengo un problema, mi terminal Linux muestra bash: java_home: no existe tal archivo o directorio, cuando escribo echo $JAVA_HOME obtengo /usr/lib/jvm/java-8-openjdk-amd64 y echo $PATH muestra /usr/lib /jvm/java-8-openjdk-amd64/bin:/usr/lib/jvm/java-8-openjdk-amd64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/ usr/bin:/sbin:/bin:/usr/juegos:/usr/local/juegos. Cuando escribo un sudo apt-get install obtengo JAVA_HOME:not find No puedo encontrar un problema, estoy usando kubuntu, a continuación puedes ver mi terminal y mi archivo .profile en mi directorio de inicio. Quizás alguien sepa cómo solucionarlo. Gracias de antemano.
Respuesta1
El mensaje de error crucial es:
/usr/sbin/update-info-dir: 2: /etc/environment: JAVA_HOME: not found
Esto indica que el mensaje de error proviene de /usr/sbin/update-info-dir
, que es un script que se puede ejecutar como parte de las operaciones de instalación/eliminación del paquete. Está leyendo (obteniendo) el /etc/environment
archivo y encuentra un error allí.
/etc/environment
se supone que contiene asignaciones de variables de entorno de estilo POSIX-shell únicamente, es decir
VARIABLE_NAME=value
Es esencial tenersin espacios antes o después del signo igual: si hay espacios, el nombre de la variable se interpretará como un comando del shell y el shell intentará ejecutarlo.
Supongo que su /etc/environment
archivo probablemente contenga algo como
JAVA_HOME = /usr/lib/jvm/java-8-openjdk-amd64
entonces, en lugar de asignar el nombre de la ruta a la variable de entorno $JAVA_HOME
, el shell que lee el archivo lo interpretará como un comando del shell que se ejecutará. Intentará ejecutar un comando nombrado literalmente JAVA_HOME
con dos parámetros =
y /usr/lib/jvm/java-8-openjdk-amd64
. Dado que un comando nombrado JAVA_HOME
no existe, generará un mensaje de error.
Edite su /etc/environment
archivo y elimine los espacios antes/después del signo igual en las asignaciones de variables de entorno.
Respuesta2
sudo no mantiene las variables de entorno. Intentar
sudo JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 apt-get ...
Si su configuración de sudo no lo permite, intente sudo -i
seguir JAVA_HOME=... apt-get...
lo anterior