Hello Dart: 搭建开发环境
搭建开发环境是我们编程的起点,新手有可能卡在这一步。如果你是经验丰富的程序员,可以直接跳过。搭建开发环境需要考虑的两个主要问题是开发机的操作系统与网络环境。
我们的开发电脑的操作系统可能是下列之一:
- macOS Sonoma (14), Ventura (13), Monterey (12)
- Windows 10,11
- ChromeOS
- Linux
- Debian stable
- Ubuntu LTS
- 其他,如Manjaro,CentOS Stream,Linux Mint
这里推荐的操作系统是 MacOS 或 Linux ,因为它们具有更丰富的开发工具及各种命令,极大的方便了软件开发。如果你使用的计算机网络位于中国,由于其网络特殊性,可能需要使用相关资源(各软件包/工具/在线服务)的镜像。
Dart.dev
如果你只是想快速搭建Dart或Flutter开发环境,可以跳过本段。
- 首先我们去Dart官网 https://dart.dev ,点击右上角的 Get Dart。
注意页面上的提示,如果你已经安装或打算安装Flutter SDK,可以跳过该向导,因为Flutter SDK包含了Dart SDK。 我们学习Dart最主要的目的就是使用Flutter框架,编写跨平台App。因此,我们这里直接安装Flutter SDK。
- 点击 install the Flutter SDK, 我们来到了Flutter SDK 安装向导页。
操作系统及网络环境的不同,会导致搭建Dart开发环境的方式也有所不同。但是这些方式有着类似的步骤。本文选取 中国网络环境下的Linux系统
对这些步骤进行说明。
在中国网络环境下使用 Flutter
有必要解释一下镜像或镜像站点。 Flutter SDK (软件开发工具包)或 Dart SDK 以及 dart package(软件包)(发布于pub.dev网站),是我们开发Flutter或Dart程序必备的,但由于中国网络的特殊性,导致许多中国开发者无法直接(从官方服务器,由谷歌维护)获取这些SDK或package(或者下载速度极慢),所以我们就去官方服务器的镜像站点去下载。这些位于中国的镜像站点会定时与官方服务器同步,略有延迟。
- 在电脑上打开 terminal (终端命令行界面),以上海交通大学*nix用户组镜像为例,配置镜像
export PUB_HOSTED_URL=https://mirror.sjtu.edu.cn/dart-pub
export FLUTTER_STORAGE_BASE_URL=https://mirror.sjtu.edu.cn
- 从镜像站点下载 Flutter 压缩包
以 Flutter 3.32.2 为例, 使用如下命令下载
wget -c -O flutter_linux_3.32.2-stable.tar.xz $FLUTTER_STORAGE_BASE_URL/flutter_infra_release/releases/stable/linux/flutter_linux_3.32.2-stable.tar.xz
注: macOS与windows对应的下载地址分别为
$FLUTTER_STORAGE_BASE_URL/flutter_infra_release/releases/stable/macos/flutter_macos_3.32.2-stable.zip
$FLUTTER_STORAGE_BASE_URL/flutter_infra_release/releases/stable/windows/flutter_windows_3.32.2-stable.zip
- 创建一个文件夹,用于安装Flutter, 例如 ~/dev
mkdir ~/dev
cd ~/dev
- 将 flutter_linux_3.32.2-stable.tar.xz 拷贝到当前目录,然后解压
tar -xf flutter_linux_3.32.2-stable.tar.xz
- 将 Flutter 添加到PATH 环境变量中
export PATH="$PWD/flutter/bin:$PATH"
- 运行
flutter doctor
来验证安装
$ flutter doctor
Flutter assets will be downloaded from https://mirror.sjtu.edu.cn. Make sure you trust this
source!
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.32.2, on Manjaro Linux 6.6.63-1-MANJARO, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2023.2)
[✓] IntelliJ IDEA Community Edition (version 2024.3)
[✓] VS Code (version unknown)
✗ Unable to determine VS Code version.
[✓] Connected device (2 available)
[✓] Network resources
• No issues found!
查看 Flutter 及 Dart 版本
$ flutter --version ✔
Flutter 3.32.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 8defaa71a7 (4 days ago) • 2025-06-04 11:02:51 -0700
Engine • revision 1091508939 (9 days ago) • 2025-05-30 12:17:36 -0700
Tools • Dart 3.8.1 • DevTools 2.45.1
$ dart --version ✔
Dart SDK version: 3.8.1 (stable) (Wed May 28 00:47:25 2025 -0700) on "linux_x64"
配置环境变量
在上述过程过程中, export 设置的环境变量,仅对当前terminal有效;要永久设置这些值, 将这三条 export 指令添加到首选 shell 使用的 *rc 或 *profile 文件中,例如
cat <<EOF >> ~/.zshrc
export PUB_HOSTED_URL=https://mirror.sjtu.edu.cn/dart-pub
export FLUTTER_STORAGE_BASE_URL=https://mirror.sjtu.edu.cn
export PATH="\$HOME/dev/flutter/bin:\$PATH"
EOF
使用 tail
命令查看刚才写入的内容
tail -3 ~/.zshrc
Hello Dart
下面我们来创建第一个Dart.
$ dart create hellodart
Creating hellodart using template console...
.gitignore
analysis_options.yaml
CHANGELOG.md
pubspec.yaml
README.md
bin/hellodart.dart
lib/hellodart.dart
test/hellodart_test.dart
执行完dart create
命令之后, 我们得到了一个hello world
project.
下面我们来运行一下
$ dart run ✔
Building package executable...
Built hellodart:hellodart.
Hello world: 42!
编译为可执行程序
$ dart compile exe bin/hellodart.dart
$ ./bin/hellodart.exe ✔
Hello world: 42!
dart 是一个强大的命令,关于它的基本使用,本课程将其放在附录中说明。
安装IDE (集成开发环境,代码编辑器)
有几款优秀且跨平台的IDE可供选用:
- VSCode: https://code.visualstudio.com/download
- Android Studio: https://developer.android.com/studio/install
- IntelliJ IDEA: https://www.jetbrains.com/idea/download/
下载安装好IDE后,再打开IDE安装Dart扩展。
另外,dartpad.dev是一个在线编辑器,可用于临时测试一些代码。
如果你看到了这里,并且也跟着一起练习,那么恭喜你,你已经开启了Dart编程之旅。
附: 社区镜像站点
# 上海交通大学 *nix 用户组
export PUB_HOSTED_URL=https://mirror.sjtu.edu.cn/dart-pub;
export FLUTTER_STORAGE_BASE_URL=https://mirror.sjtu.edu.cn
# 清华大学 TUNA 协会
export PUB_HOSTED_URL=https://mirrors.tuna.tsinghua.edu.cn/dart-pub
export FLUTTER_STORAGE_BASE_URL=https://mirrors.tuna.tsinghua.edu.cn/flutter
# 中国 Flutter 社区 (CFUG)
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn