系统配置要求
要想安装和运行 Flutter,你的开发环境至少应该满足如下的需求:
bash
curl
file
git
2.xmkdir
rm
unzip
which
xz-utils
zip
test
命令需要你的系统安装或存在如下的公用库。
libGLU.so.1
- 由 mesa 套件 (packages) 提供,比如 Ubuntu/Debian 系统下的 libglu1-mesa
,以及 Fedora 系统下的 mesa-libGLU
。在 Linux 上你有两种方式安装 Flutter。
最简单的方式是使用 snapd 在 Linux 上安装 Flutter。更多详情请查看:安装 snapd。
如果你已经有 snapd 了,那么你可以 通过 Snap 商店来安装 Flutter,或者通过以下命令安装:
内容复制
$ sudo snap install flutter --classic
提示
安装 snap 后,可以使用如下命令展示 Flutter SDK 路径:
内容复制
$ flutter sdk-path
如果你没有 snapd
,或者你无法使用它,那么你可以通过以下步骤安装 Flutter。
通过下载下面的安装包以获得最新 stable release 版本的 Flutter SDK:
flutter_linux_2.8.1-stable.tar.xz
对于其他发布频道以及更久的构建版本,请查看 SDK 发布 页面。
将文件解压到合适的地方,例如:
内容复制
$ cd ~/development
$ tar xf ~/Downloads/flutter_linux_2.8.1-stable.tar.xz
如果你不想安装安装包的补丁,你可以跳过步骤 1 或步骤 2,直接获取 Github 上 Flutter 仓库 的源码并执行以下命令:
内容复制
$ git clone https://github.com/flutter/flutter.git
你也可以按你的需要切换分支或者tag。例如,你可以使用 stable 版本的分支:
内容复制
$ git clone https://github.com/flutter/flutter.git -b stable
将 flutter
工具添加到环境变量中:
内容复制
$ export PATH="$PATH:`pwd`/flutter/bin"
用这个命令添加 PATH
仅在当前的命令行视窗生效。要将 Flutter 永久添加到环境变量中,请参阅 更新您的路径。
可选步骤,提前下载二进制开发文件:
flutter
工具将下载所需的平台特殊开发二进制文件。对于预下载这些工件更好的做法是(例如,在系统构建环境中,网络可能出现不通畅的问题),通过运行下面命令提前下载 iOS 和 Android 的二进制文件:
内容复制
$ flutter precache
对于这些可选的下载项,请参考 flutter help precache
。
你现在可以运行 Flutter 命令了!
提示
要更新已有 Flutter版本,请参阅升级你的 Flutter。
运行以下命令以查看是否还有缺失的依赖需要安装,你需要安装这些依赖以完成设置(要看到详细输出,请添加 -v
标识):
内容复制
$ flutter doctor
该命令将检查你的环境情况并显示汇报在命令行窗口中。 Dart SDK 已经绑在 Flutter 中了;你无需单独再安装 Dart。仔细检查你是否还有需要安装的东西,或者要执行的任务(在该文字中提示的)。
例如:
内容复制
[-] Android 工具链 - 为 Android 设备开发 • Android SDK 位于 /Users/obiwan/Library/Android/sdk ✗ Android SDK 缺少命令行工具;从 https://goo.gl/XxQghQ 下载 • 尝试重新安装或更新您的 Android SDK, 详细说明请访问 https://flutter.cn/docs/setup/#android-setup。
上面的部分描述了如何执行这些任务,并完成设置流程。
当你已经安装了全部缺失的依赖之后,请再次运行 flutter doctor
命令,以验证你是否是真的全部正确设置完毕了。
请注意 Flutter 工具有时可能会从 Google 服务器下载资源。下载或使用 Flutter SDK 即表示您同意Google 服务条款。
Flutter 工具可能会偶尔从 Google 的服务器上下载资源,下载了或使用 Flutter SDK 代表您同意了 Google 服务条款。
举个例子,当开发者们从 GitHub 安装(而不是从预打包的归档文件中安装),为了要执行 flutter
命令,Flutter 工具将会在首次运行时从谷歌服务器下载 Dart SDK。升级 Flutter 时亦会发生 (比如运行 flutter upgrade
命令) 。
flutter
工具使用了 Google Analytics 来对基本使用情况和 崩溃报告 进行匿名的统计。这些数据用来帮助改善 Flutter 工具。
在第一次运行或者任何涉及到 flutter config
的信息都不会进行发送,所以你可以在发送分析数据之前选择禁止分析数据的统计。要禁用这一功能,只需要输入 flutter config --no-analytics
即可,想要查看当前设置使用命令 flutter config
。如果你禁用了统计信息发送,这次的禁用行为会被记录发送,其他任何信息,以及未来都不会再有任何数据会被记录。
Dart 工具同样可能会发送使用指标数据和崩溃报告给 Google。控制这些发送的数据,请参考下面的 [dart
命令行][dart
tool 参数:
--enable-analytics
: 启用匿名分析;--disable-analytics
: 禁用匿名分析。Google 的隐私权政策 里详细描述了这些服务会如何控制这些数据。
与 获取 Flutter SDK 中说的一样,你可以通过命令行更新当前窗口的环境变量。但你也许会想要让它一直生效,在任何终端中都可以运行 flutter
命令。
下面是更改环境变量的详细步骤,这将会对所有终端生效,且仅在该机器上生效。通常,每当你打开一个新的窗口,都会将一行添加到执行的文件。例如:
找到通过压缩包下载解压或 git clone
命令检出的 Flutter SDK 的文件夹,你需要在第三步用到它。
在你的 shell 中打开(或者创建)rc
文件。例如,Linux 默认使用 Bash shell,所以编辑 $HOME/.bashrc
文件。如果你使用不同的 shell,那么在你电脑上的文件路径以及文件名必须不同。
并将下面命令行里 [PATH_OF_FLUTTER_GIT_DIRECTORY]
修改为你通过 git clone
命令检出的 Flutter 仓库目录地址,或者通过下载 Flutter SDK 压缩包解压之后的目录地址。
内容复制
$ export PATH="$PATH:[PATH_OF_FLUTTER_GIT_DIRECTORY]/bin"
运行 source $HOME/.<rc file>
刷新当前窗口或者打开一个新的终端窗口就会自动更新这个文件。
通过运行以下命令验证 flutter/bin
确实加到环境变量中了:
内容复制
$ echo $PATH
通过运行以下命令验证 flutter
命令:
内容复制
$ which flutter
提示
自 1.19.0 dev 版开始,dart
命令就直接包含在 Flutter SDK 里了,这样可以更轻松的运行 Dart 命令行应用。下载 Flutter SDK 的时候也将同时包含兼容版本的 Dart SDK,但是如果你已经单独的下载了 Dart SDK,需要请你确保 Flutter SDK 里包含的 dart
在 PATH
环境变量里靠前的位置,因为这两个渠道下载的 dart
可能并不兼容。下述命令将教你判断 flutter
与 dart
命令是否来自于相同的 bin
目录,以及它们是否兼容。
内容复制
$ which flutter dart
/path-to-flutter-sdk/bin/flutter
/usr/local/bin/dart
如上命令行返回的内容所示,看起来 flutter
和 dart
并非来自同一 bin
目录,在上面的这个例子里,我们需要更新 PATH
环境变量,将 <path-to-flutter-sdk>/bin
放在 /usr/local/bin
之前。修改完并使命令行窗口生效之后,再次运行 which
命令,就可以发现,flutter
和 dart
位于同一目录了:
内容复制
$ which flutter dart
/path-to-flutter-sdk/bin/flutter
/path-to-flutter-sdk/bin/dart
了解更多关于 dart
命令的内容,可以在命令行运行 dart -h
,或者在 Dart 文档查看 dart
工具 了解更多。
在某些情况下,你的分发可能无法长期获取使用上面提到的环境变量。发生这种情况时,你可以直接更改环境变量文件。但这需要管理员权限:
etc
文件夹,然后用 root 权限打开 profile
文件。$ sudo nano /etc/profile
if [ "`id -u`" -eq 0 ]; then
PATH="..."
else
PATH="/usr/local/bin:...:[PATH_OF_FLUTTER_GIT_DIRECTORY]/bin"
fi
export PATH
flutter
命令已经可以执行:$ which flutter
更多关于如何在 Bash 中配置环境变量的信息请查看这条 StackExchange 提问。更多关于如何在 Z shell 中配置环境变量的信息请查看 这条 StackExchange 提问。
提示
Flutter 依赖 Android Studio 的全量安装来为其提供 Android 平台的支持。但你也可以使用其他的编辑器来写 Flutter 应用,接下来的步骤会提到这个问题。
flutter doctor
确保 Flutter 已经定位到了你的 Android Studio 的安装位置。如果 Flutter 并未定位到,运行 flutter config --android-studio-dir <directory>
设置你的 Android Studio 的安装目录。在 Android 设备上运行或测试 Flutter 应用之前,你需要一个运行 Android 4.1(API 版本 16)或者更高的设备。
flutter devices
命令来确保 Flutter 能够识别出你所连接的 Android 设备。根据以下步骤来将 Flutter 应用运行或测试于你的 Android 模拟器上:
在使用 Flutter 前,你必须同意 Android SDK 平台的协议。你可以在安装完上述工具后执行这一步。
JAVA_HOME
环境变量到 JDK 目录。$ flutter doctor --android-licenses
flutter doctor
以确认是否已经可以正常使用 Flutter。请注意 Beta! 此区域涵盖桌面支持,它作为 beta 版本提供。Beta 支持仍然存在显着的功能差距,包括可访问性支持。您可以在稳定版频道上尝试桌面支持的测试版快照,或者您可以在测试版频道上了解桌面版的最新更改。有关更多信息,请参阅Flutter 2 中的新增功能中的桌面 部分,这是一篇关于 Medium 的免费文章。
对于 Linux 桌面开发,除了 Flutter SDK 之外,您还需要以下内容:
运行以下命令
内容复制
$ sudo apt-get install clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev
在命令行中,执行以下命令以启用桌面支持
内容复制
$ flutter config --enable-linux-desktop
有关更多信息,请参阅Flutter 的桌面支持