Решение: Не могу найти версию Java в Flutter Doctor
Быстрый ответ
Если вы столкнулись с ошибкой «Не удаётся найти встроенную версию Java» в процессе работы с Flutter, исправьте ситуацию, проверив, установлен ли у вас Java Development Kit (JDK). Обновите переменную окружения JAVA_HOME, указав нужный путь к JDK. Выполните следующие действия для быстрой проверки:
- Для Windows:
echo %JAVA_HOME%
иjava -version
. - Для macOS/Linux:
echo $JAVA_HOME
иjava -version
.
Если значения JAVA_HOME некорректны, добавьте в файл настроек вашего терминала (~/.bashrc
или ~/.zshrc
) такую строку:
export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac))))
Примените изменения командой source ~/.bashrc
(или zshrc
) и после этого перезапустите flutter doctor
. Если проблемы все еще остаются, рекомендуется переустановить Flutter SDK.
Пользователям Mac, столкнувшимся с проблемами после обновления, может помочь создание символической ссылки на встроенную Java. Выполните в терминале эти команды:
- Перейдите в каталог Android Studio:
cd /Applications/Android\ Studio.app/Contents
Создайте символическую ссылку "jre", которая будет указывать на папку JetBrainsRuntime:
ln -s jbr jre
Если проблема не исправлена, обновите Android Studio и Flutter к последним версиям для предотвращения несостыковок с версией Java.
Пользователям Windows, что потеряли путь к встроенной Java после обновления, может помочь переименование папки "jre" в "jbr" и наоборот, находящейся в каталоге Android Studio.
Визуализация
Представьте, что вы отправились в экспедицию по созданию великого приложения на Flutter (представленным этим прекрасным драгоценным камнем: 💎). Но вдруг! Вы сталкиваетесь с препятствием. Нужная для проекта встроенная версия Java (символизируемая ключом: 🔑) исчезла!
Для прохождения квеста Flutter (💎) нужен Java Key (🔑) для открытия сокровищницы (📦).
Рассмотрев свой рюкзак (💼), вы обнаруживаете, что ключ отсутствует...
🔍 Осмотр рюкзака (💼)...
Внимание: Java Key (🔑) отсутствует!
Не унывайте, бесстрашный путешественник! Возьмите в руки инструменты и подготовьтесь к следующим действиям:
1. Обращение к Flutter Doctor (🩺).
2. Восстановление или обновление Java Key (🔑).
3. Проверка Environment Rune (🗿).
У вас есть инструменты, готовьтесь к преодолению испытаний, связанных с кодом, командами и файлами конфигурации. Квест продолжается!
Перепроверка настройки среды Java
Коррекция пути JAVA_HOME
Возможно, в переменной JAVA_HOME указан путь не к JDK, а к JRE. Исправьте это, так как для работы с Flutter требуется JDK. Пользователям Mac, вероятно, понадобится homebrew
для корректной установки и устранения зависимостей.
Важность прав доступа в macOS
Начиная с macOS Mojave, вам может потребоваться уделить особое внимание разрешениям доступа к диску для Android Studio. Предоставьте Терминалу полный доступ к диску, чтобы процесс создания символических ссылок прошел без ошибок.
Удаление старых версий
Несколько версий Android Studio на одном компьютере могут вызвать конфликты. Удалите все лишние версии, оставив только актуальную.
Уважаемый Flutter Doctor
После проделанных усилий и настроек воспользуйтесь flutter doctor -v
для того, чтобы убедиться, что Flutter видит среду Java верно. Если проверка прошла успешно, пора отпраздновать победу 🕺.
Полезные материалы
- Выбор начального типа приложения | Flutter — официальное руководство Flutter по установке на macOS.
- Настройки tsconfig для TypeScript и Node.js 10? – Stack Overflow — обсуждение проблемы обнаружения Java в Flutter.
- flutter pub run crashes with CreateProcessW failed 193 · Issue #48221 · flutter/flutter · GitHub — диалог о проблеме, связанной с ошибкой поиска Java в Flutter.
- Загрузки Java | Oracle — получение последних версий JDK на официальном сайте Oracle.
- Главная | Adoptium — готовые сборки OpenJDK от Adoptium для удобства использования.
- Главная – SDKMAN! Управление комплектами разработчика — SDKMAN! инструмент управления версиями SDK, облегчающий настройку среды разработки Java для работы с Flutter.