
Olá, tenho um problema, meu terminal Linux mostra bash: java_home: Esse arquivo ou diretório não existe, quando digito echo $JAVA_HOME recebo /usr/lib/jvm/java-8-openjdk-amd64 e echo $PATH mostra /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/games:/usr/local/games. Quando escrevo um sudo apt-get install recebo JAVA_HOME:not find Não consigo encontrar um problema, estou usando o kubuntu, abaixo você pode ver meu terminal e meu arquivo .profile em meu diretório inicial. Talvez alguém saiba como consertar isso. Agradeço antecipadamente.
Responder1
A mensagem de erro crucial é:
/usr/sbin/update-info-dir: 2: /etc/environment: JAVA_HOME: not found
Isso indica que a mensagem de erro vem de /usr/sbin/update-info-dir
, que é um script que pode ser executado como parte das operações de instalação/remoção de pacotes. Ele está lendo (fonte) o /etc/environment
arquivo e encontrando um erro nele.
/etc/environment
deve conter apenas atribuições de variáveis de ambiente no estilo shell POSIX, ou seja
VARIABLE_NAME=value
É essencial tersem espaços antes ou depois do sinal de igual: se houver espaços, o nome da variável será interpretado como um comando shell e o shell tentará executá-lo.
Suponho que seu /etc/environment
arquivo provavelmente contenha algo como
JAVA_HOME = /usr/lib/jvm/java-8-openjdk-amd64
portanto, em vez de atribuir o nome do caminho à variável de ambiente $JAVA_HOME
, o shell que lê o arquivo irá interpretá-lo como um comando shell a ser executado. Ele tentará executar um comando nomeado literalmente JAVA_HOME
com dois parâmetros =
e /usr/lib/jvm/java-8-openjdk-amd64
. Como não existe um comando nomeado JAVA_HOME
, isso resultará em uma mensagem de erro.
Edite seu /etc/environment
arquivo e remova quaisquer espaços antes/depois do sinal de igual nas atribuições de variáveis de ambiente.
Responder2
sudo não mantém suas variáveis de ambiente. Tentar
sudo JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 apt-get ...
Se isso não for permitido pela sua configuração do sudo, tente sudo -i
seguir JAVA_HOME=... apt-get...
o procedimento acima