Я прошёл всё, чтобы вам не пришлось
Привет. Если вы заинтересовались данной статьёй, то скорее всего вы уже знаете о Flutter/Dart всю необходимую информацию и интересуетесь Linux. В данной статье я расскажу как правильно настроить flutter sdk и загрузить все необходимые приложения.
Установка Flutter sdk
Вам не придётся устанавливать Dart, так как он идёт в комплекте с Flutter.
Для пользователей Ubuntu можно скачать Flutter через snap:
sudo snap install flutter --classic
-
Для остальных пользователей Linux:
С официального сайта Flutter скачиваем tar.xz-архив.
-
Распаковываем его в любую папку. Желательно создать новую, чтобы было удобнее и более структурировано. К примеру, у меня папка Flutter находится по пути /home/user/sdk/.
Далее мы должны указать системе путь до flutter. Изменяем файл ~/.bashrc (по умолчанию он скрыт и чтобы показать его в файловом менеджере нужно в Домашней папке нажать Ctrl+h). Изменить его мы можем как графически, так и через терминал. Записываем в .bashrc следующую команду. Также записываем ту же команду в терминале.
export PATH="$PATH:путь_до_папки_flutter/flutter/bin"
Теперь мы можем запустить команду
flutter doctor
. Она покажет нам чего не хватает в нашей системе для работы с flutter. Если команда не сработала перезагрузите систему.Поздравляю, Flutter установлен.
Установка необходимых приложений и зависимостей.
Все программы мы устанавливаем либо с архивов, либо из встроенных репозиториев. Скачивать flatpak версии не рекомендуется, так как приложения flatpak работают каждый в своей песочнице. Это значит они не будут иметь доступ к системе и запускать Flutter приложения в них будет затруднительно.
-
Android Studio:
Скачаем архив с Android Studio;
Распакуем его в отдельную папку. Как упоминалось ранее, распаковать можно в любую удобную для вас папку.
-
Теперь нам нужно запустить исполняемый файл studio.sh. Сделать это можно двумя способами. Через дополнительное меню файла или через терминал.
Если у вас нет пункта "Запустить как приложение" зайдите в терминал. Там перейдите в папку, где находится этот исполняемый файл:
cd полный_путь_до_папки_android-studio/android-studio/bin/
-
Когда вы перешли в эту папку напишите данную команду:
./studio.sh
. -
Загрузите плагин flutter.
-
Установите иконку для запуска этого приложения в меню. Найдите в меню
tools
пункт `create desktop entry`. Дальнейшая настройка будет соответствовать аналогичным настройкам из windows.
-
Intellij Idea
Вы можете следовать инструкции Android Studio в точности. Все шаги одинаковы.
Вот ссылка.
-
VSCode:
Загрузите deb/rpm пакет с официального сайта.
Установите его.
Скачайте расширение flutter. Данное расширение также скачает другие дополнительные расширения.
-
Браузер:
Загрузите через пакетный менеджер любой браузер:
sudo apt install chromium
sudo dnf install chromiumУзнайте путь до исполняемого файла браузера.
which chromium-browser
Введите команду ниже в .bashrc и в терминал.
export CHROME_EXECUTABLE=/usr/bin/chromium-browser
Данная команда укажет, flutter, где находится браузер.Перезагрузитесь.
-
Linux зависимости:
Здесь всё зависит от дистрибутива. Команда flutter doctor укажет каких пакетов не хватает. Просто загрузите их в терминале. Пример для Fedora linux:
sudo dnf install clang cmake ninja-build gtk3-devel
После перезагрузитесь.
Возможные проблемы
У пользователей Ubuntu и дистрибутивов, основанных на нём, при запуске на Linux может выйти ошибка:
CMake Error at /usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake:62 (message): The C++ compiler
"/usr/bin/clang++"
is not able to compile a simple test program.
It fails with the following output:
Change Dir: /home/akyl/StudioProjects/untitled/build/linux/x64/debug/CMakeFiles/CMakeTmp
Run Build Command(s):/usr/bin/ninja cmTC_05dec && [1/2] Building CXX object CMakeFiles/cmTC_05dec.dir/testCXXCompiler.cxx.o
[2/2] Linking CXX executable cmTC_05dec
FAILED: cmTC_05dec
: && /usr/bin/clang++ CMakeFiles/cmTC_05dec.dir/testCXXCompiler.cxx.o -o cmTC_05dec && :
/usr/bin/ld: невозможно найти -lstdc++: Нет такого файла или каталога
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
CMake will not be able to correctly generate this project. Call Stack (most recent call first): CMakeLists.txt:3 (project)
Ошибка выходит когда flutter не может найти путь до компилятора C (clang или g++).
Для решения этой проблемы следуйте следующим шагам:
-
При каждом перезапуске программы удаляйте папку build.
-
В папке linux найдите файл CMakeLists.txt:
Найдите строку project(...). Перед ней вставьте
set(CMAKE_CXX_COMPILER "/usr/bin/clang++")
. Перезапустите проект.-
Если вышла ошибка, загрузите g++.
sudo apt install g++
Повторите все шаги выше, только поменяйте clang++ на g++.
Если программа успешно запустилась, можно не удалять при запуске папку build.
Заключение
В процессе написания данного блога на самом деле я искал способы, как обойти ограничения flatpak. Изначально этот блог должен был быть вопросом к сообществу, как настроить flatpak версии вышеперечисленных приложений, который превратился в гайд для новичков. Тем не менее я всё ещё ищу ответ на вопрос как из песочницы flatpak-приложения взаимодействовать с системой. Я надеюсь, что в скором времени найду ответ.
Надеюсь ваше программирование на линуксе будет лёгким и продуктивным.
Testman2023
Не тестировали такой комбайн на Linux: Flutter, VS Code(Flutter Extension on VS Code) и Android Studio?
Мне удобней работать в google-chrome:
Cosmosiai Автор
Привет. Да, такой комбайн можно использовать. Они все будут прекрасно работать (даже параллельно).
Насчёт, deb пакета chrome. После его установки надо в консоль написать
which google-chrome
, а далее следовать инструкции.