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 的组件开发、状态管理和平台适配部分,欢迎关注 👋

相关推荐
LaoZhangAI9 分钟前
GPT-5推理能力全解析:o3架构、链式思考与2025年8月发布
前端·后端
JuneXcy24 分钟前
11.Layout-Pinia优化重复请求
前端·javascript·css
子洋34 分钟前
快速目录跳转工具 zoxide 使用指南
前端·后端·shell
天下无贼!35 分钟前
【自制组件库】从零到一实现属于自己的 Vue3 组件库!!!
前端·javascript·vue.js·ui·架构·scss
CF14年老兵1 小时前
✅ Next.js 渲染速查表
前端·react.js·next.js
司宸1 小时前
学习笔记八 —— 虚拟DOM diff算法 fiber原理
前端
阳树阳树1 小时前
JSON.parse 与 JSON.stringify 可能引发的问题
前端
让辣条自由翱翔1 小时前
总结一下Vue的组件通信
前端
dyb1 小时前
开箱即用的Next.js SSR企业级开发模板
前端·react.js·next.js
叽哥1 小时前
dart学习第1节: 变量与数据类型 —— 程序的 “基本元素”
flutter