Information Gossips

資訊說書 - HES

世界很大,能說的很多,但我只說我會的

在Manjaro上安裝Flutter

Arch Linux通用

HES

2 分鐘

簡介

Flutter 官網上有關於如何在Windows,MacOS及Linux上安裝的教學:傳送門,在Manjaro大致上照著做就好,不過有20%的細節可能需要自己調整搞懂,這篇文就是關於怎樣幫你省下這些摸索時間。你想自己挑戰一下就不要再看下去,以下有劇透啊啊啊

節錄自Wikipedia:

Flutter是一個由Google開發的開源行動應用軟體開發套件,用於為Android、iOS、 Windows、Mac、Linux、Google Fuchsia開發應用

Manjaro Linux是基於 Arch Linux 的 Linux 發行版,使用 Xfce 和 KDE Plasma 作為預設桌面環境,和 Arch 一樣,採用滾動更新。其目標是為 PC 提供易於使用的自由的作業系統。

撰文當下,Flutter版本為1.12.13

安裝Flutter SDK

首先除了等會要安裝的Flutter以外的東西(Ex: Android Studio, Android SDK…),你需要先安裝Flutter本人。這裡我會介紹兩種在Manjaro上可能的安裝方式。

官方方式

在Flutter官網的 Docs > Get started > Install > Linux > Get the Flutter SDK,你可以找到完整的官方指示,教你該如何安裝Flutter SDK。

基本上照做就好,步驟分別為:

  • 下載含有Flutter sdk的壓縮檔
    • 可以點選官網上提供的連結
    • 或者透過git clone https://github.com/flutter/flutter.git -b stable下載
  • 解壓縮到某個你想要放的資料夾(Ex: ~/dev)
    • 建議在你的家目錄下
    • tar xf ~/Downloads/flutter_linux_v1.12.13+hotfix.9-stable.tar.xz -C ~/dev
  • 把flutter的執行擋路徑加入你環境變數的path
    • 在.bashrc或是.bash_profile用zsh或是其他的自己應該知道要改哪中加入flutter的binary路徑
      • Ex: export PATH="$PATH:~/dev/flutter/bin"
  • 重載環境或重開terminal你應該就可以直接執行flutter了

但我們其實離完成還有一段落 Orz

AUR(Arch User Repository) 是你的好朋友

這個方式安裝的Flutter SDK版本有可能不是最新,但應該至少頗新。

竟然都用Manjaro了,當然要來好好利用一下AUR

方法一 - 土法煉鋼AUR

git clone https://aur.archlinux.org/flutter.git
cd flutter
makepkg -si

細節參考這裡,抱歉它是英文的,大家看不懂的話應該看圖說故事應該還是會懂的~~(毆飛)~~

方法二 - yay是你的好朋友

雖說這是方法二好像跟方法一不一樣,但是如果你在manjaro上還沒安裝yay的話,基本上你還是需要用到土法煉鋼AUR(?

  • 安裝 yay
    git clone https://aur.archlinux.org/yay.git
    cd yay
    makepkg -si
    
  • 透過yay安裝Flutter SDK
    yay flutter
    # 你會看到如以下
    # 4 aur/flutter-git 1.4.19.r2.27b058a414-1 (+1 0.00%) 
    #   A new mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.
    # 3 aur/flutter-beta 1.15.17-1 (+2 0.10%) 
    #   A new mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.
    # 2 aur/flutter-dev 1.16.2-1 (+2 0.05%) 
    #   A new mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.
    # 1 aur/flutter 1.12.13+hotfix.8-1 (+48 0.97%) (Out-of-date 2020-04-04) 
    #   A new mobile app SDK to help developers and designers build modern mobile apps for iOS and Android.
    
    • aur/flutter
      • 最多人用,官方正式的穩定版本
    • aur/flutter-dev/beta
      • 如其名,dev及beta版
    • aur/flutter-git
      • 熱騰騰從flutter git repo TOT編出來的版本
      • 這才是最最最最最新!
    • 建議沒事裝aur/flutter就好

注意:使用yay安裝flutter,AUR上的設定會將flutter安裝在/opt下,但flutter會需要對其存在的資料夾有寫的權限,故採取此方法需要對該資料夾改變權限設定來修正。 sudo setfacl -m u:YOURUSERNAME:rwx -R /opt/flutter/

該issue在我寫這篇文時追蹤於flutter/issues/44526

安裝Android Studio

官方方式 + pacman

根據官方所說,只需要下載然後安裝Android Studio就好了。

但根據筆者實際測試,下載壓縮檔,解壓縮及後面相關的設定實在是有點麻煩且痛苦。

筆者摸索了一陣後,以下步驟應該可行

  • 下載Linux用的tar.gz壓縮檔
  • sudo pacman -U --noconfirm android-studio-3.6.1.0-1-x86_64.pkg.tar.xz

但與其採用此方法,不如直接使用yay來安裝。早說阿

yay是你的好朋友

  • yay android-studio
    • aur/android-studio
      • Stable branch
    • 想選Canary或Beta自理

安裝Android SDK及Plugin

Android SDK + (SDK Tools)

  • 開啟剛剛安裝好的Android Studio
  • Configure > SDK Manager
    • 如圖
  • 假如你還沒安裝Android SDK,勾選後安裝

Plugin

  • Android Studio > Configure > Plugins
  • 安裝DartFlutter

簽署Android Licenses

  • flutter doctor --android-licenses
    • 有個已知Issue可能需要你安裝Android SDK Tools(Obsolete)以完成簽署,下列步驟假如該Issue已解應可忽略
      • 開啟Android Studio > Configure > SDK Manager
      • 取消"Hide Obsolete Pacakge”
      • 安裝Android SDK Tools(Obsolete)
        • 如圖
  • 閱讀後y接受所有協議

執行 flutter doctor 檢查是否相關安裝都已完成

幸運的話,你該會看到以下輸出

[✓] Flutter (Channel stable, v1.12.13+hotfix.9, on Linux, locale en_US.UTF-8)
 
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Android Studio (version 3.6)
[!] Connected device
    ! No devices available

! Doctor found issues in 1 category.

除了Connected device外其他項目都應顯示✓。

其他可能問題

unzip未安裝

sudo pacman -S unzip

參考文章

comments powered by Disqus

最新文章

分類

關於

在美國微軟、谷歌短暫工作過,現居台灣
逼近三十卻還是個菜雞SWE