نصب و کانفیگ Flutter SDK بر روی دبیان لینوکس و ابونتو

9/3/2021 Flutter
2959

در این مقاله سعی میکنم SDK  مربوط به flutter  را بر روی لینوکس دبیان Debian  نصب کنیم

برای نصب دبیان ‌debian Linux بهترین راه حل استفاده از دستور 

sudo snap install flutter --classic

است که خودش مسیر ها  و PATH  را برای شما تنظیم میکند، اما اگر بخواهید یه صورت دستی آن را دانلود و نصب کنید به یه کم مشکلات بر میخورید،‌

خوب اول ابنکه فایل رو میتونید از آدرس خود سابت دانلود کنید ،‌یاد اور میشم که برای دانلود سایت فلاتر ما را تحریم کرده است؟؟!!

بعد از دانلود فایل،  فایل را در پوشه downloads گذاشتم ودر همان پوشه آن را ا ز حالت فشرده خارج کنید.

sudo tar -C /usr/local -xf  flutter_linux_2.10.5-stable.tar.xz

با این دستور فایل  flutter_linux_2.10.5-stable.tar.xz را هم از حالت فشرده خارج کردیم و هم به پوشه /user/local  انتقال دادیمُ،‌اگر به پوشه /usr/local نگاهی بیندازید آنجا باید پوشه به  نام flutter را ببینید حال باید ادرس پوشه bin زا به سیستم عامل لینوکس معرفی کنیم راه حل اولش اینه که با توجه به اینکه فایل دانلود شده را در usr/local از حالت فشرده خارج کردیم همین ادرس را در فایل 

$HOME/<username>/.profile

کپی کنیم 

export PATH="$PATH:/usr/local/flutter/bin

ادرس بالا را در فایل ,profile کپی کردیم ،‌زمانی که سیستم را ریستارت کنید این تغییر اعمال خواهد شد ویا اگر میخواهد همان لحظه این دستور اجرا شود فقط کافی است در ترمینال خود دستور زیر را بنویسید

source .profile

این شد آدرس SDK فلاتر flutterنرم افزار شما، برای استفاده از آن باید بتوانیم در ترمینال درستورات را وارد کنیم

و برای اینکه بتوانید دستورات flutter را در ترمینال خود وارد کنید باید ادرس SDK  آن را در PATH  سیستم وارد کرده باشید. به این معنی که اگر شما فایل را در پوشه ای دیگر بگذرید لازم است تا ادرس ذخیره در PATH را تغییر هید. ،‌برای ان کار میتوانید از دستور زیر استفاده کنید

export PATH="<user>/downloads/flutter_linux_2.2.3-stable/flutter/bin":$PATH

در قسمت <user> نام کاربری که تعرف کرده اید بنویسید

بااجرای دستور 

echo $PATH

مطمین شوید که ادرس فایل SDK  قلاتر در PATH ثبت شده است ،‌شما باید چیزی شبیه به این داشته باشید 

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/<user>/Downloads/flutter_linux_2.2.3-stable/flutter/bin:/snap/bin

همانطور که میبینید بعد از < : > اخر ادرس فایل قلاتر اضافه شده است ، اگر ادرس به صورت 

/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

 بود یه این معنی است که هنوز ادرس به PATH شما اضافه نشده و لازم است به صورت دستی آن را  وارد نمایید.

برای وارد کردن آدرس به صورت دستی میتوانید از این روش استفاده کنید

ابتدا دستور زیر را در ترمینال وارد نمایید

 sudo nano /etc/profile

با اجرا این دستور ادریتور nano برای ادیت فایل profile باز میشود

ممکن است به این صورت باشد

if [ "`id -u`" -eq 0 ]; then
   PATH="..."
else
   PATH="/usr/local/bin:...:[PATH_OF_FLUTTER_GIT_DIRECTORY]/bin"
fi
export PATH

سه نقطه <...> که در خط دوم ذکر شده با عبارتهای دیگر پر شده است و بعد از fi نیز یک سری عبارت دیگر نمایش داده شده که نیاز به دستکاری آنها ندارید،‌فقط آدرس SDK  flutter را به انتهای PATH دوم وارد کنید تا به این صورت نمایش داده شود

if [ "`id -u`" -eq 0 ]; then
   PATH="..."
else
   PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/<user>/Downloads/flutter_linux_2.2.3-stable/flutter/bin:/snap/bin"
fi
export PATH

به جای user نا م کاربر ذکر شده است حالا 

 

flutter doctor

اجرا کنید اگر به خطای 

Error: Unable to find git in your PATH.

بر خوردید دستور 

sudo apt-get install git

را اجرا کنید و دوباره دستور flutter را اجرا کنید 

Running "flutter pub get" in flutter_tools...                      19.1s
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.3, on Linux, locale en_US.UTF-8)
[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from: https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK components.
      (or visit https://flutter.dev/docs/get-started/install/linux#android-setup for detailed
      instructions).
      If the Android SDK has been installed to a custom location, please use
      `flutter config --android-sdk` to update to that location.

[✓] Chrome - develop for the web
[!] Android Studio (not installed)
[✓] VS Code (version 1.60.0)
[✓] Connected device (1 available)

! Doctor found issues in 2 categories.

شما موفق به معرفی SDK  flutter به سیستم خود شده اید اما هنوز تنظیمات  مربوط به Android SDK  به جا مانده که در ادامه خواهم گفت

آپدیت:

اگر با دستورات بالا کا رکنید به مشکلی بر نمیخوریم اما من قبل از اجرا دستورات بالا. خودم تصمیم گرفتم java رو روی سیستمم نصب کنم با استفاده از این دستور:

$ sudo apt install openjdk-11-jdk

چون میخواستم Android SDK را بدون استفاده از نصب اندروید استادیو نصب کنم وزمانی که flutter doctor را اجرا کردم به این خطا برخوردم 

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.10.1, on Ubuntu 20.04.3 LTS 5.13.0-28-generic,
    locale en_US.UTF-8)
[✗] Android toolchain - develop for Android devices
    ✗ ANDROID_HOME = /home/ariel/Android
      but Android SDK not found at this location.
[✓] Chrome - develop for the web
[!] Android Studio (version 2021.1)
    ✗ Unable to find bundled Java version.
[✓] VS Code
[✓] Connected device (1 available)

و برای حلش دستورات زیر را اجرا کردم که جواب داد

$ export ANDROID_HOME=$HOME/Android/Sdk
$ export PATH="$ANDROID_HOME/tools:$PATH"
$ export PATH="$ANDROID_HOME/platform-tools:$PATH"
$ export PATH="$ANDROID_HOME/emulator:$PATH"

تا اینجا مشکل path در را برای home_android حل کردم

و زمانی دستور 

$ flutter doctor --android-licenses

با این مشکل برمی خوردم

ERROR: JAVA_HOME is set to an invalid directory: /usr/lib/jvm/java-8-oracle/bin

برای رفع این مشکل لازم بود تا تنظیم محل java رو تغییر بدهم به این صورت

$ export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

و حالا دستور 

flutter doctor --android-licenses

را اجرا کردم مشکل حل شد.