6 KiB
اسکریپتهای Linux برای Hesabix
این فایل شامل اسکریپتهای مفید برای اجرا و build کردن اپلیکیشن Flutter در Linux است.
اسکریپتهای موجود
1. run_linux.sh - اجرای اپلیکیشن در Linux
اسکریپت اصلی برای اجرای اپلیکیشن Flutter در Linux Desktop.
استفاده:
./run_linux.sh [options]
گزینهها:
--project PATH: مسیر پروژه Flutter (اختیاری)--mode MODE: نوع اجرا (debug/profile/release) - پیشفرض: debug--build-dir DIR: مسیر build directory - پیشفرض: build/linux--clean: پاک کردن build directory قبل از اجرا--install-deps: نصب وابستگیها قبل از اجرا--api-base-url URL: آدرس پایه API--help: نمایش راهنما
نمونههای استفاده:
# اجرای ساده
./run_linux.sh
# اجرا در حالت release
./run_linux.sh --mode release
# اجرا با پاک کردن build directory
./run_linux.sh --clean --mode debug
# اجرا با نصب وابستگیها
./run_linux.sh --install-deps
# اجرا با API base URL
./run_linux.sh --api-base-url http://localhost:8000
2. build_linux.sh - Build کردن اپلیکیشن برای Linux
اسکریپت برای ایجاد executable مستقل از اپلیکیشن Flutter.
استفاده:
./build_linux.sh [options]
گزینهها:
--project PATH: مسیر پروژه Flutter (اختیاری)--mode MODE: نوع build (debug/profile/release) - پیشفرض: release--build-dir DIR: مسیر build directory - پیشفرض: build/linux--output-dir DIR: مسیر خروجی نهایی - پیشفرض: build/linux_release--clean: پاک کردن build directory قبل از build--install-deps: نصب وابستگیها قبل از build--api-base-url URL: آدرس پایه API--archive: ایجاد فایل tar.gz از خروجی--help: نمایش راهنما
نمونههای استفاده:
# Build ساده
./build_linux.sh
# Build در حالت debug
./build_linux.sh --mode debug
# Build با ایجاد archive
./build_linux.sh --archive
# Build کامل با پاک کردن و نصب وابستگیها
./build_linux.sh --clean --install-deps --archive
وابستگیهای مورد نیاز
قبل از استفاده از این اسکریپتها، مطمئن شوید که وابستگیهای زیر نصب شدهاند:
Ubuntu/Debian:
sudo apt update
sudo apt install libgtk-3-dev cmake ninja-build
Fedora/RHEL:
sudo dnf install gtk3-devel cmake ninja-build
Arch Linux:
sudo pacman -S gtk3 cmake ninja
نصب Flutter
اگر Flutter نصب نیست، میتوانید از snap استفاده کنید:
sudo snap install flutter --classic
یا از سایت رسمی Flutter دانلود کنید: https://flutter.dev/docs/get-started/install/linux
ویژگیهای جدید
نصب خودکار وابستگیها
اسکریپتها بهطور خودکار وابستگیهای مورد نیاز را تشخیص داده و نصب میکنند:
- GTK+3 development libraries
- CMake
- Ninja build system
- Clang C++ compiler
- Build essential tools
رفع مشکلات platform-specific
- مشکلات مربوط به
dart:html(که فقط در web platform موجود است) بهطور خودکار رفع میشوند - توابع download برای Linux desktop بهروزرسانی میشوند
- فایلهای اصلی پس از اجرا بازیابی میشوند
پشتیبانی از توزیعهای مختلف
- Ubuntu/Debian (apt)
- Fedora/RHEL (dnf)
- Arch Linux (pacman)
نکات مهم
-
مسیر پروژه: اسکریپتها بهطور خودکار پروژه Flutter را در
hesabixUI/hesabix_uiپیدا میکنند. -
Mirror تنظیمات: اسکریپتها از mirror چینی برای حل مشکل دسترسی به pub.dev استفاده میکنند.
-
Build Directory: فایلهای build شده در
build/linuxذخیره میشوند. -
خروجی نهایی: فایلهای قابل اجرا در
build/linux_release(یا مسیر مشخص شده) قرار میگیرند. -
اجرای فایل نهایی: پس از build، میتوانید فایل
hesabix_uiرا در مسیر خروجی اجرا کنید. -
بازیابی خودکار: فایلهای اصلی پس از اجرا یا build به حالت اولیه بازمیگردند.
عیبیابی
خطای "Flutter یافت نشد"
- مطمئن شوید Flutter نصب شده است
- مسیر Flutter را به PATH اضافه کنید
- از snap استفاده کنید:
sudo snap install flutter --classic
خطای "GTK+3 development libraries یافت نشد"
- وابستگیهای GTK را نصب کنید (به بخش وابستگیها مراجعه کنید)
خطای "CMake یافت نشد"
- CMake را نصب کنید:
sudo apt install cmake(Ubuntu/Debian)
خطای build
- از
--cleanاستفاده کنید تا build directory پاک شود - از
--install-depsاستفاده کنید تا وابستگیها نصب شوند
خطای "dart:html is not available"
- این خطا بهطور خودکار توسط اسکریپت رفع میشود
- اگر همچنان رخ داد، از
--cleanاستفاده کنید
خطای "deprecated-literal-operator"
- این خطا مربوط به flutter_secure_storage_linux است
- اسکریپت بهطور خودکار compiler flags را تنظیم میکند
خطای "Could not find compiler"
- اسکریپت بهطور خودکار clang و build-essential را نصب میکند
- اگر همچنان رخ داد، دستی نصب کنید:
sudo apt install clang build-essential