背景

  • 学习 Flutter,目标是开发 iOS / Android 双端
  • 开发机器:Mac M4

Flutter 环境搭建

前置条件

  • Homebrew
  • Git
  • VPN(下载 SDK 时大概率用得上)

安装 FVM

FVM 是 Flutter 的版本管理工具,可以在一台机器上装多个 Flutter 版本来回切换,思路和 nvm、jEnv 一样。

// 添加 Dart 的 Homebrew 仓库
brew tap dart-lang/dart
// 安装 Dart SDK
brew install dart
// 把 Dart 包管理器的镜像换成国内站点
echo 'export PUB_HOSTED_URL=https://pub.flutter-io.cn' >> ~/.zshrc
source ~/.zshrc
// Dart 全局工具(比如 FVM)默认装在 $HOME/.pub-cache/bin,加进 PATH 才能在任意目录调用
echo 'export PATH="$PATH:$HOME/.pub-cache/bin"' >> ~/.zshrc
source ~/.zshrc
// 用 Dart 包管理器安装 FVM
dart pub global activate fvm
// 验证是否装好
fvm --version

安装 Flutter

// 把 Flutter SDK 和依赖的下载源换成国内镜像
echo 'export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn' >> ~/.zshrc
source ~/.zshrc
// 安装 Flutter 2.8.1
fvm install 2.8.1
// 下载太慢就挂代理:HTTP_PROXY=http://127.0.0.1:xxx HTTPS_PROXY=http://127.0.0.1:xxx fvm install 2.8.1 --verbose
// 查看已安装的版本
fvm list

设置全局 Flutter 版本为 2.8.1(可选)

fvm global 2.8.1

在当前项目使用 2.8.1

fvm use 2.8.1

安装 Xcode

  • 从 App Store 下载 Xcode
    // 指定 Xcode 的命令行工具
    sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
    
  • 接受 Xcode 许可协议
    sudo xcodebuild -license
    
  • 安装并配置 CocoaPods
    // 用 Homebrew 安装 CocoaPods
    brew install cocoapods
    // 初始化环境,会拉取 CocoaPods 的规范仓库
    pod setup
    // 看版本,确认装好了
    pod --version
    // 把 Homebrew 装的 Ruby bin 目录加进 PATH,避免找不到 pod 命令
    echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc
    

安装 Android Studio

  • Android Studio 官网 下载安装
    • 下载并安装 Android Studio
    • 启动后跟着初始向导走一遍
    • 装上 Android SDK、SDK Platform-Tools 和 SDK Build-Tools
  • 安装 JDK
    // 用 Homebrew 安装 OpenJDK 17
    brew install openjdk@17
    // 强制建符号链接,让系统用上这个版本
    brew link --force openjdk@17
    // JAVA_HOME 指向 JDK 17
    echo 'export JAVA_HOME=/opt/homebrew/opt/openjdk@17' >> ~/.zshrc
    // JDK_HOME 同样指向 JDK 17
    echo 'export JDK_HOME=/opt/homebrew/opt/openjdk@17' >> ~/.zshrc
    // 把 JDK 的 bin 加进 PATH,java 命令就能直接用
    echo 'export PATH=$JAVA_HOME/bin:$PATH' >> ~/.zshrc
    // 重新加载配置,让环境变量生效
    source ~/.zshrc
    // 查看版本,确认配好了
    java -version
    
  • 接受 Android SDK 许可证
    fvm flutter doctor --android-licenses