React Native: JAVA_HOME не установлен, и никакая команда java не может быть найдена в вашем PATH
Я шаг за шагом последовал за официальным Приступаем к работе. Я начал с чистой установки linux и установил все необходимое в соответствии с вкладкой "Проекты зданий с собственным кодом". Я также прочитал раздел устранения неполадок. Я уже создал проект с помощью терминала.
Это ошибка, когда я запускаю react-native run-android
:
Starting JS server...
Building and installing the app on the device (cd android && ./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/android-setup.html
Он не находит JAVA_HOME, потому что последние версии Android Studio не требуют установки Java в систему. Вместо этого используется внутренняя JRE.
Повторяющееся выражение об отказе от ответственности: я уже прочитал этот вопрос. Это не то, что я хочу. Я знаю, как установить дом Java. Я просто хочу запустить проект реагирования БЕЗ необходимости устанавливать отдельную Java.
Вопросы:
- Как найти внутреннюю Java внутри папки Android Studio, чтобы я мог указать JAVA_HOME на нее?
- Если это невозможно, я мог открыть и запустить проект внутри
android
папки с Android Studio? Как обновить этот проект после изменения кода JavaScript React в родительской папке?
Ответы
Ответ 1
Я отвечу на свои вопросы и поддержу своих коллег по Linux:
1- Чтобы указать JAVA_HOME на JRE, включенную в Android Studio, сначала найдите папку установки Android Studio, а затем найдите каталог /jre
. Полный путь к этому каталогу - это то, что вам нужно для установки JAVA_PATH (спасибо @TentenPonce за его ответ). В Linux вы можете установить JAVA_HOME, добавив эту строку в ваши .bash_profile files
.bashrc
или .bash_profile files
:
export JAVA_HOME=<Your Android Studio path here>/jre
Этот файл (один или другой) совпадает с тем, к ANDROID_HOME
вы добавили ANDROID_HOME
если вы ANDROID_HOME
за React Native Getting Started для Linux. Оба скрыты по умолчанию и могут быть найдены в вашем домашнем каталоге. После добавления строки вам необходимо перезагрузить терминал, чтобы он мог выбрать новую переменную среды. Так типа:
source $HOME/.bash_profile
или же
source $HOME/.bashrc
и теперь вы можете запустить react-native run-android
в том же терминале. Другой вариант - перезагрузить ОС. Другие терминалы могут работать по-другому.
ПРИМЕЧАНИЕ: для реального запуска проекта необходимо заранее запустить эмулятор Android или подключить реальное устройство. Самый простой способ - открыть уже существующий проект Android Studio и запустить оттуда эмулятор, а затем закрыть Android Studio.
2- Так как то, что, по react-native run-android
видимому, react-native run-android
и есть:
cd android && ./gradlew installDebug
Вы можете открыть вложенный проект Android с помощью Android Studio и запустить его вручную. Изменения JS могут быть перезагружены, если вы включите прямую перезагрузку в эмуляторе. Введите CTRL + M (CMD + M в MacOS) и выберите опцию "Включить живую перезагрузку" в появившемся меню (слава @BKO за его ответ)
Ответ 2
Я думаю, что правильный способ найти внутреннюю Java, используемую Android Studio, - это
- Открыть Android Studio
- Перейти к File-> Другое Settings-> Структура проекта по умолчанию /JDK Местоположение:
- и скопировать то, что указано в строке.
Это не потребует запоминания папки или поиска java, а также этих шагов с любыми будущими изменениями в java-местоположении в результате изменений в команде Android Studio. Я полагаю,
Ответ 3
Он находится в самой папке Android Studio
, где вы ее установили.
Ответ 4
Все, что я сделал, это перейти к моей директории проектов из командной строки cmd. Я набрал java -version. Сказал мне, какую версию он искал. поэтому я установил эту версию, и я изменил путь к тому, чтобы был найден jdk этой версии.
Ответ 5
- Убедитесь, что у вас установлена 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
Ответ 6
Пожалуйста, добавьте JAVA_HOME в системную переменную no в пользовательскую переменную
- Создайте имя переменной как JAVA_HOME
- Пожалуйста, используйте этот формат в поле значения → C:\Program Files\Java\jdk (версия), что у вас есть или загружено.