Ошибка JAVA_HOME не установлена, пока она установлена

#linux #react-native

#linux #react-native

Вопрос:

Когда я пытаюсь запустить команду:

     react-native run-android
  

Я получаю эту ошибку:

 Scanning folders for symlinks in /home/x/myApp/node_modules 
(10ms)
JS server already running.
Building and installing the app on the device (cd android amp;amp; 
./gradlew installDebug)...

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.

Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device 
connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/getting-started.html
  

JAVA_HOME установлен правильно (я думаю)

 java -version 
  

и

 echo $JAVA_HOME 
  

возвращает правильные результаты. Скриншот:
1
JAVA_HOME установлен в /etc/environment /etc/profile /bashrc /bash_profile

Я тоже делал source / bashrc и т. Д.

Виртуальное устройство тоже подключено. Я могу открыть этот проект в android-studio и сгенерировать apk

Комментарии:

1. Попробуйте перезагрузить компьютер, это часто помогает с такими проблемами

2. Как именно JAVA_HOME устанавливается?

3. env | grep JAVA_HOME Вместо этого проверьте значение, поскольку echo оно не сообщит вам, экспортирована ли переменная

4. @NikosC. что вы имеете в виду? Местоположение показано на скриншоте

5. @NikosC. что вы имеете в виду? Местоположение показано на скриншоте / usr / lib / jvm / jdk-12.0.1 Я изменил JAVA_HOME в bashrc bash_profile и еще несколько, как я сказал в первом сообщении

Ответ №1:

Убедитесь, что у вас установлена java

после этого

если ваш путь неверен, сделайте это:

 export | grep JAVA
  

РЕЗУЛЬТАТ: для чего установлен java home

 JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
  

следуйте по пути, чтобы узнать, верны ли каталоги
, я сделал это в своем терминале:

 open /Library
  

затем я перешел в / Java/ JavaVirturalMachines, оказывается, у меня была неправильная папка «jdk1.8.0_202.jdk», там был другой номер … 4. вы можете использовать эту команду для установки java_home

 export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
  

Ответ №2:

В Linux вам не нужно перезагружать компьютер, если у вас ubuntu или производная, файл, содержащий ПУТЬ, находится в /etc/enviroment , проверьте этот файл, чтобы увидеть, установлен ли там JAVA_HOME.

Дополнительно, вы можете захотеть использовать JDK8, поскольку JDK9 и 10 плохо работают с react native.

Затем закройте сеанс и снова войдите в систему

Комментарии:

1. он установлен в /etc/environment, printenv, как я сказал в первом сообщении и протестирован на JDK8, 9 и 12 😉 Я установил react-native на ноутбук с Windows, и он сработал в первую очередь. Linux иногда действительно раздражает