在 Mac OS 上安裝 Flutter
目錄
⦿ 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 Store、Google 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: