Flutter 学习笔记 - 搭建(macOS 版)

📌 本文记录我第一次使用 Flutter 时的本地环境搭建过程,包括 SDK 安装、环境变量配置、遇到的问题及解决方案,适合刚入门 Flutter 的开发者参考。

🧱 一、我的开发环境

  • 系统环境:macOS 15.2(Sequoia)
  • Flutter SDK:3.32.8(stable channel)
  • IDE:VS Code(也支持 Android Studio)
  • Node.js:已安装(辅助工具链)

📦 二、下载并安装 Flutter SDK

✅ 步骤 1:下载 Flutter SDK

从官方获取最新稳定版本:

docs.flutter.dev/get-started...

下载 flutter_macos_3.32.8-stable.zip 并解压:

bash 复制代码
cd ~/Downloads
unzip flutter_macos_3.32.8-stable.zip -d ~/development

建议路径为 ~/development/flutter

✅ 步骤 2:添加环境变量

打开终端,编辑 ~/.zshrc 文件:

bash 复制代码
nano ~/.zshrc

在末尾添加:

bash 复制代码
export PATH="$PATH:$HOME/development/flutter/bin"

保存并刷新:

bash 复制代码
source ~/.zshrc

✅ 三、验证安装

在终端运行:

bash 复制代码
flutter doctor

确保各项依赖都准备好(Android SDK、Xcode、模拟器等),若有报错按提示安装。

💡 四、创建并运行项目

bash 复制代码
flutter create my_app
cd my_app
flutter run -d chrome     # 运行 Web
flutter run -d macos      # 运行桌面

也可使用 VS Code 启动调试(需安装 Flutter 插件)。

🧠 五、遇到的常见问题及解决

❗ 问题:Web 模式字体加载失败,文字不显示

bash 复制代码
Failed to load font Noto Sans HK ...

📌 原因:

Flutter Web 默认会从 Google Fonts 加载字体(如 Noto Sans、Roboto 等)。在一些网络环境(如公司内网)中,访问 fonts.gstatic.com 失败,导致文字内容不显示。

✅ 解决方法:

MaterialApp 中添加字体配置,使用系统字体避免网络加载:

php 复制代码
theme: ThemeData(
  fontFamily: 'Arial',
  textTheme: const TextTheme(
    bodyMedium: TextStyle(
      fontFamilyFallback: ['PingFang SC', 'Helvetica', 'sans-serif'],
      color: Colors.black,
    ),
  ),
)

✅ 常用命令速查

bash 复制代码
flutter doctor            # 检查环境
flutter create my_app     # 创建项目
flutter run -d chrome     # 运行 Web 应用
flutter run -d macos      # 运行桌面
flutter devices           # 查看设备列表

如你也准备尝试 Flutter,建议直接从 Web 或桌面版入手,不需要配置模拟器也能快速看到效果。

后续我会继续记录 Flutter 的组件开发、状态管理和平台适配部分,欢迎关注 👋

相关推荐
小堂子这厢有礼了1 分钟前
Chet.Admin 权限模型:菜单级 + 按钮级 + 行级三层防护
前端·后端·信息可视化·前端框架·.net
Cobyte9 分钟前
编译解析器的基础——状态模式与状态机的原理
前端·javascript·vue.js
qq_2468397516 分钟前
记一次 Flutter 预热帧引起的初始化问题
android·flutter
IT_陈寒31 分钟前
Vue的这个响应式陷阱,让我加班到凌晨三点
前端·人工智能·后端
2501_9160074736 分钟前
抓包工具对比 Charles、Fiddler、TraceEagle、Wireshark 与 Proxyman
前端·网络协议·ios·adb·https·fiddler·wireshark
心中有国也有家44 分钟前
AtomGit Flutter 鸿蒙客户端:MoodStorage 的 CRUD 集成验证
android·服务器·flutter·华为·harmonyos
小堂子这厢有礼了1 小时前
Chet.QuartzNet.UI v2.3.0 大更新!表格重构 + 系统配置 + 分析页全面升级!
前端·后端·ui·重构·c#·vue
程序员爱钓鱼1 小时前
Rust 控制流 if 详解:条件判断与 if 表达式
前端·后端·rust
心中有国也有家2 小时前
AtomGit Flutter 鸿蒙客户端:错误处理与优雅降级策略
android·javascript·flutter·华为·harmonyos
Listen·Rain2 小时前
Vue3中computed详解
前端·javascript·vue.js