起因
一个很奇怪的原因,XCode 在周六下午遭遇到了启动缓慢的问题,非常影响开发效率。RN 工程基本是没有办法打开,而 Flutter 工程则是看几率,但是正常打开的几率也是非常低。依次尝试了重装 XCode、Cocospad、MacOS 都没有办法解决这个问题,我只能放弃使用自己旧笔记本开发的想法,但是由于我非常喜欢它的轻薄性(Mac Air 当年的高配),所以想尝试一下使用 Flutter Web 来做开发,这样即跳过 XCode 的坑,又能保持开发环境不变。
流程简述
安装的流程相对还是简单的,但是在官方文档的一个小犄角旮旯里面,因此也还是特意自己记了下。
环境准备
- Flutter、XCode 这些就不用说了
- Chrome 请安装好
流程
基本是以下几步:
- 切换 flutter channel 为 beta,命令行:
$ flutter channel beta。如果在这一步遇网络问题,见下。 - 开启 flutter web config,命令行:
$ flutter config --enable-web。官方文档在这一步前还会调用 upgrade,不过我发现其实使用 config 的时候,会自动使用。此处我就略去。 - 使用 devices 命令验证,已经开启了 web 的开发环境,命令行:
$ flutter devices。此时,应该可以看到命令行之中有输出至少两个 connected device,分别是 Chrome 和 Web Server - 上一步走完,其实就已经有了 Web 的开发环境了。如果是新建的工程,那么执行命令就是
$ flutter run -d chrome,build 命令就是$ flutter build web。 - 如果是旧的工程,官方提供了一个命令新加 web 的支持,命令行:
$ flutter create .。
这时候就可以在我的曾经的高配本本上开发 Flutter 了。流泪。
遇上的坑
过程当然并不是如上般顺利,这里也做坑点的记录:
- 第五步的时候,会遇上一个错误
ambiguous organization in existing files {com.yourdamon com.explame} use --org ...。这个坑点就是说,需要用 --org 指定项目的标示,否则就存在歧义。虽然 Flutter 的提示已经做的很贴心了,但老实说,我还是不知道具体是那个文件有歧义,然后 --org 又需要怎么使用。好在多年踩坑经历,使用如下命令行即可破$ flutter create . --org "com.yourdamon" No devices found with name or id matching 'chrome'。这是在第四步的时候会出现的错误,当然,也是第三步的时候没又出现对应的 devices。这个倒是好解决,我发现问题是因为当使用代理的时候,upgrade 的成功概率比较低,我在下一个点说明了如何使用 Flutter 的中国源。- 切换中国源:
$ export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn据说这个是国情所致,也罢。github 也有中国 Flutter 的专题区。总之,比如说在第一步、第二步的时候应为网络的原因而中止的话,不妨试试中国源来处理。