
Здравствуйте, у меня проблема, мой терминал linux показывает bash: java_home: Такого файла или каталога нет, когда я набираю echo $JAVA_HOME, я получаю /usr/lib/jvm/java-8-openjdk-amd64, а echo $PATH показывает /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. Когда я пишу sudo apt-get install, я получаю JAVA_HOME:not find Я не могу найти проблему, я использую kubuntu, ниже вы можете увидеть мой терминал и мой файл .profile в моем домашнем каталоге. Может быть, кто-то знает, как это исправить. Заранее спасибо.
решение1
Главное сообщение об ошибке:
/usr/sbin/update-info-dir: 2: /etc/environment: JAVA_HOME: not found
Это указывает на то, что сообщение об ошибке исходит от /usr/sbin/update-info-dir
, который является скриптом, который может быть выполнен как часть операций установки/удаления пакета. Он читает (выполняет поиск) файл /etc/environment
и обнаруживает там ошибку.
/etc/environment
предполагается, что он содержит только назначения переменных среды в стиле POSIX-shell, т.е.
VARIABLE_NAME=value
Важно иметьбез пробелов перед знаком равенства и после него: если есть пробелы, имя переменной будет интерпретировано как команда оболочки, и оболочка попытается выполнить ее.
Я предполагаю, что ваш /etc/environment
файл, вероятно, содержит что-то вроде
JAVA_HOME = /usr/lib/jvm/java-8-openjdk-amd64
поэтому вместо назначения имени пути переменной окружения $JAVA_HOME
оболочка, читающая файл, будет интерпретировать его как команду оболочки для выполнения. Она попытается выполнить команду с именем буквально JAVA_HOME
с двумя параметрами =
и /usr/lib/jvm/java-8-openjdk-amd64
. Поскольку команда с именем JAVA_HOME
не существует, это приведет к сообщению об ошибке.
Отредактируйте /etc/environment
файл и удалите все пробелы до/после знака равенства в назначениях переменных среды.
решение2
sudo не поддерживает переменные среды. Попробуйте
sudo JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 apt-get ...
Если это не разрешено вашей конфигурацией sudo, попробуйте sudo -i
выполнить команду, JAVA_HOME=... apt-get...
как указано выше