在 Mac OS 上安裝 Flutter

春麗 S.T.E.M.
10 min readJul 5, 2024

--

目錄

⦿ Flutter
⦿ Add Flutter to your zsh
⦿ Xcode
⦿ Android Studio
⦿ Trouble shooting

Flutter

若你已經在寫 iOS 或 Android 等行動裝置 APP,在 Mac OS 上,我們有 Xcode 可以用,如果要寫 Android APP 就會用到 Android Studio,在 iOS 上,用的是 Objective-C 或 Swift;在 Android 系統上就是 Java 或 Kotlin 了,然而,如果只想要用一種語言,有沒有辦法分別佈版到 App StoreGoogle Play 商店呢?

可以的,我們會使用 Dart,與之對應的就是 Flutter,在設置 Flutter 過程有點繁複,假設你電腦是一張白紙,即是沒有 Xcode,沒有 Android Studio,但以環境建置的目標來說,我們希望最終在 Terminal 中鍵入 flutter doctor,會得到如下訊息:

這表示說你已經準備好你的環境了,無論是安裝 Flutter、Android toolchain,還是 IDE,Xcode 與 Android Studio、VS Code、Chrome,更重要的是準備好 Connected device,這時會發現前頭的確認都是打勾的狀態,這是我們的目標。

好的,下面一步步來幫助大家達成這個目標吧!

繼續閱讀|回目錄

Flutter SDK

首先,進到 Flutter 官網,就會開始教你一步步如何進行。

網站會自動偵測你現在使用的電腦,一步步建議你的第一個 APP,如果是 macOS,自然 APP 就是 iOS 了。

然而,在安裝 flutter SDK 前,我們要理解 Terminal 的指令,因為我們要新建一個 ~/development 的資料夾,看到如下:

chunlicheng@MacBook-Air-M1 ~ % cd ~/development 
chunlicheng@MacBook-Air-M1 development % ls
flutter

我們的 flutter 就要安裝在 development 中,首先,什麼是 ~/ 呢?我們到 Terminal 的最外層鍵入 pwd,如下:

chunlicheng@MacBook-Air-M1 ~ % pwd
/Users/chunlicheng

pwd 就是看你當前的資料夾的完整路徑,而 /Users/chunlicheng 就是你的根目錄,在 Linux 或 Unix-like 系統中,我們叫做家目錄(/home),~/ 就是省略路徑的語法。

那麼,我們鍵入 mkdir development,在家目錄下建立 development 資料夾,接著,我們可以 cd development,切換到新建的資料夾。

chunlicheng@MacBook-Air-M1 development % pwd
/Users/chunlicheng/development

我們對這個資料夾執行 pwd,可以看到他的完整路徑,由於前面說 /Users/chunlicheng 可以省略,也就是說,將來無論你在哪個資料夾,都可以鍵入 cd ~/development,切換到家目錄下的 development 這個資料夾了。

下一步,看你的電腦是 intel processor 還是 apple silicon,去下載相應的 flutter SDK,不建議用 VS Code 下載延伸套件的原因是,將來你仍然需將路徑導到正確的、我們新建的 development 上。

如果是 Inter,可以想見指令集架構是 x84_64,若是 Apple 則是 arm64,在 Apple Silicon 剛推出時,有許多應用程式存在指令集架構轉換的陣痛期,這時候,我們會用 rosetta 來開啟,現在這類指令集轉換問題已將相對少了,因為應用程式開始支援原生架構的也相當多。

接著,將你下載的檔案 unzip ~/Downloads/檔名 -d ~/development,這段指令的意思是對 zip file 解壓縮,由於你是下載的,經常會放在 ~/Downloads,而 -d 則是指定解壓路徑,由於剛才說要放在 ~/development 裡,所以這就是我們的解壓路徑。

到這裡,完成了第一步。

繼續閱讀|回目錄

Add Flutter to your zsh

由於在 macOS 16 版以後,預設的 shell 都是 zsh,所以在 Mac 上,我們就要去 export flutter 工具的路徑,我們可以先 cat ~/.zshrc 這個檔案。

由於我已經設置過了,所以我會得到 export PATH=”/opt/homebrew/bin:$HOME/development/flutter/bin:$PATH” 這樣的結果,這表示說我的 homebrew 與 flutter 指令都有加入,但為了設置 flutter,只需要加入下面這段,你可以使用 vim 來對這文件做編輯。

export PATH=$HOME/development/flutter/bin:$PATH

如果順利的話,就可以使用 flutter doctor 了,不過這時候一定會有很多不合規的地方(就是不會都打勾),我們還需要其他的設置。

繼續閱讀|回目錄

Xcode

與 Xcode 相關的有兩件事,第一個,必須到 App Store 下載 Xcode,如果你要安裝多個不同版本的 Xcode,建議使用 Xcodes;第二個,你必須安裝 CocoaPods

當你下載完 Xcode,第一件事就是打開它,然後接受 SDK 等使用者條款,這時會要你輸入你的開機密碼,完成後即可跳出去。

接著是安裝 CocoaPods,而通常是建議使用 HomeBrew 來安裝,如果你還沒安裝 homebrew,就在家目錄下,鍵入如下:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

這段程式碼表示,/bin/bash -c 你要使用 bash shell 來執行後面的指令,"$()" 裡面包覆的就是用 shell 執行的指令,curl 是一個在 Terminal 呼叫的連網套件,-fsSL 表示接下來用 curl 如果錯誤也不會特別報錯,並且遵循著重新導向的指令。

https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh,這段則是安裝 HomeBrew 的網頁指令碼。

接著,我們就可以 vim ~/.zshrc,放入 export PATH=$HOME/opt/homebrew/bin:$PATH,來讓 brew 指令碼能夠在 Terminal 起作用。

最後,鍵入 brew install cocoapods,就完成安裝了!

繼續閱讀|回目錄

Android Studio

在 Android 的地方,同樣到網站去下載,而下載處若有分 intel chip 或 apple chip,就依照你的電腦去選擇即可,而你當然可以使用 Jet Brains Toolbox 來管理它旗下的其他 IDE,如 IntelliJ IDEA、Android Studio 等。

同樣地,打開 AS,一樣會要你接受 SDK 等使用者條款,在 Flutter 官網教你使用 Terminal 去接受條款,這樣比較麻煩,所以這邊都盡量打開 IDE 去下載設置即可。

最後,在 AS 中,下載 flutter 的 Plugins。

重開後,回到 AS 頁面,上方就會多出一個 New Flutter Project,而為了要能夠寫 Android APP,除了安裝 IDE,還有另外一個重要步驟,還記得最前面鍵入 flutter doctor 時,Android 有 toolchain 的檢查嗎?

同樣回到 AS 首頁,選擇右邊三個點中的 SDK Manager。

在 SDK Tools 頁籤,你必須要安裝 Android SDK Command-line Tools(latest)。

這時,若我們執行 flutter doctor,可能會出現如下訊息。

[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0) ! Some Android licenses not accepted. To resolve this, run: flutter doctor - android-licenses

這表示 Android Toolchain 有些 licenses 沒有接受,所以不得不回到 Terminal 鍵入 flutter doctor — android-licenses,這樣就完成了。

繼續閱讀|回目錄

Trouble shooting

理想情況是,在你的電腦裡,曾經使用 Xcode Build 過專案,跑過 iOS Simulator,也跑過實機;在 Android Studio Build 過專案,跑過 Android Simulator,也跑過實績。

那可以想見,相關的環境都已經具足,然而,使用 flutter doctor,我們仍然可能會出現其他問題,在 Xcode 中,有一項重要的快捷是 shift + command + 2,按下後,就會打開你的 Xcode 中,擁有過正連接著,或目前未連接的 Devices,以及你安裝的 Simulators。

如果出現錯誤訊息如下:

 ! Error: Browsing on the local area network for Wu的iPhone. Ensure the device is
unlocked and attached with a cable or associated with the same local area
network as this Mac.
The device must be opted into Developer Mode to connect wirelessly. (code -27)

同樣按 shift + command + 2 去檢查,如果已經未使用的裝置,建議可以先移除。

完成了!

這次就分享到這,感謝您的閱讀。

繼續閱讀|回目錄

Reference:

--

--

春麗 S.T.E.M.
春麗 S.T.E.M.

Written by 春麗 S.T.E.M.

Do not go gentle into that good night, Old age should burn and rave at close of day; Rage, rage, against the dying of the light.

No responses yet