Mac版最详细的Flutter开发环境搭建
上周任务不多,闲来无事想学习一下flutter耍一耍,发现flutter的环境搭建步骤还是很繁琐的,官网的搭建教程只是按步骤让你进行操作,中间出现的问题完全没有提及,对我这种没搞过原生开发的小白来说超级不友好。而网上很多相关博客教程,感觉不够详细,许多环境搭建过程中的坑确实是提到了,但解决的办法写的比较笼统,在此我将本次环境搭建锁遇到的各种奇奇怪怪的问题一一汇总,争取结合各路大神的博客加上自己实际遇到的问题整理出一篇超级实用且详细的教程,让童鞋们在学习flutter的路上少走弯路,让你的起跑顺畅起来,大神们请指正或忽略。
系统环境要求
Flutter是相对新出的框架,对系统有一定的要求。
- 操作系统: macOS (64-bit)
- 磁盘空间: 700 MB (不包括Xcode或Android Studio的磁盘空间,ps:Xcode大概6个G,学习的情况下可以2选一)
- 软件 Xcode、Android studio、VsCode
- 工具: Flutter 依赖下面这些命令行工具:
- bash, mkdir, rm, git, curl, unzip, which
- brew 是 Mac 下的一个包管理工具,类似于 centos 下的 yum,可以很方便地进行安装/卸载/更新各种软件包,例如:nodejs, elasticsearch, kibana, mysql, mongodb 等等,可以用来快速搭建各种本地环境,程序员必备工具,很多Mac都没有安装brew,但它在环境搭建中有着超级大的作用,所以没有的童鞋先去安装brew,教程:学习安装brew
下载Flutter SDK
两种方式:官网下载和github下载
- flutter官网下载地址点击进入
- 在国内因为中所周知的原因,要想正常获取安装包列表或下载安装包,可能需要翻墙,大家也可以去Flutter github项目下去下载安装包,转到下载页
- 懒癌患者可以直接点击本链接下载,随着版本的升级此链接可能会失效:点击直接下载
将下载好的sdk保存后解压。
- 如果已经安装了解压软件可以直接解压
- 或者在命令行使用unzip进行解压
- 例如:
cd ~/development
unzip ~/Downloads/flutter_macos_v1.5.4-hotfix.2-stable.zip
- 记住解压后的文件路径,接下来要用到。
配置环境变量和镜像
由于在国内访问Flutter有时可能会受到限制,Flutter官方为中国开发者搭建了临时镜像,可以将如下环境变量加入到用户环境变量中。
如何更改环境变量?
使用快捷键Command+R(或者Windows键+R),或者直接点击Launchpad,进入Launchpad,点击其他这个工具集合,选择终端(或者terminal),进入命令行工具。
输入:
echo $PATH
,按回车执行命令查看当前变量值。输入:
sudo vi ~/.bash_profile
,按回车输入密码后用vi打开用户目录下的bash_profile文件。一定要用sudo,否则没权限保存文件。按i键,在空白处开始编辑
将以下代码添加进去
- Flutter临时镜像
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
- 更新flutter的PATH变量,以便可以运行flutter命令在任何终端会话中。
export PATH=PATH_TO_FLUTTER_GIT_DIRECTORY/flutter/bin:$PATH
注意!!!:
PATH_TO_FLUTTER_GIT_DIRECTORY
为你解压过的flutter文件路径,上一步提到过,比如“~/document/code”,千万别顺手全粘贴上去,考试连姓名都抄的同学不是一个合格的学渣。运行
source ~/.bash_profile
或重启命令行刷新当前终端窗口。运行
echo $PATH
验证目录是否在已经在PATH中,正确的输出如下,每个电脑输出可能不一样,但当你看到flutter路径出现即说明配置成功。/mySpace/flutterSDK/flutter/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/mongodb:/usr/local/go/bin~
检查开发环境
到此我们已经安装完flutter了,但此时还不具备开发的能力,flutter运行需要很多插件,运行以下命令查看是否需要安装其它依赖项来完成安装:
flutter doctor
这时候它会将你未安装的依赖一一列出,每个电脑缺少的依赖都不尽相同,例如下面这样:
✗ Android toolchain - develop for Android devices
• Android SDK at /Users/obiwan/Library/Android/sdk
✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ
• Try re-installing or updating your Android SDK,
visit https://flutter.dev/setup/#android-setup for detailed instructions.
To install, run:
brew install --HEAD libimobiledevice
brew install ideviceinstaller
✗ ios-deploy not installed. To install:
brew install ios-deploy
✗ CocoaPods not installed.
CocoaPods is used to retrieve the iOS platform side's plugin code that responds to your plugin usage on the Dart side.
Without resolving iOS dependencies with CocoaPods, plugins will not work on iOS.
For more info, see https://flutter.io/platform-plugins
To install:
brew install cocoapods
pod setup
先搞定需要brew安装的,如果你英文好,按着提示一条一条的安装,如果英文不好的话,那你可以找关键词,比如上面的输出,可以从中找到 brew install
字眼,将所有需要brew安装的统统安装上即可。还是以上面为例,可以看到brew相关的有:
brew install --HEAD libimobiledevice
brew install ideviceinstaller
brew install ios-deploy
brew install cocoapods
执行上面命令逐条安装依赖。再次运行flutter doctor, 这个时候需要安装的一些插件错误已经不会报了,但还是会有些其它的常见问题将会在下面一一列举出来。
常见问题汇总
Cocoapods is installed but not initialized
Cocoapods已经安装但没有初始化,执行下面语句完成初始化(可能较慢,耐心等待):pod setup
✗ Xcode installation is incomplete; a full installation is necessary for iOS development.
Download at: https://developer.apple.com/xcode/download/
Or install Xcode via the App Store.
Once installed, run:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
提示xcode安装不完整需要完整安装,运行以下命令然后输入root密码便可:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
执行
brew install --HEAD libimobiledevice
命令会抛出如下异常:configure: error: Package requirements (libusbmuxd >= 1.1.0) were not met: Requested 'libusbmuxd >= 1.1.0' but version of libusbmuxd is 1.0.10 Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix. Alternatively, you may set the environment variables libusbmuxd_CFLAGS
and libusbmuxd_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details. READ THIS: https://docs.brew.sh/Troubleshooting
这时候需要运行
brew unlink usbmuxd & brew install --HEAD usbmuxd
而不是libusbmuxd
。flutter doctor没有检测到Android SDK, 安装sdk即可,如何安装?
先下载android sdk for mac 给二个靠谱的网址:
a. http://down.tech.sina.com.cn/page/45703.html
b. http://mac.softpedia.com/get/Developer-Tools/Google-Android-SDK.shtml
到这个面下载后,解压到某个目录
设置下载的代理服务器
命令行进入tools目录
然后输入 ./android sdk 请出SDK Manager的图形界面
Android SDK Manager -> Preferences...
http proxy server这里填写: mirrors.neusoft.edu.cn (感谢东软搭建国内的镜像服务器,为广大程序员造福无数)
端口填写80,然后把Force https:// 前的勾勾上
mac顶部菜单Tools->Manage Add-on Site
把下面这堆网址全手动New加进去,然后就可以下载了(注:上图中加圈的项,建议勾上,否则有可能创建不了Android模拟设备):
http://mirrors.neusoft.edu.cn/android/repository/addon-6.xml
http://mirrors.neusoft.edu.cn/android/repository/addon.xml
http://mirrors.neusoft.edu.cn/android/repository/extras/intel/addon.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android-tv/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android-wear/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/android/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/google_apis/sys-img.xml
http://mirrors.neusoft.edu.cn/android/repository/sys-img/x86/addon-x86.xml
http://mirrors.neusoft.edu.cn/android/repository/addons_list-2.xml
http://mirrors.neusoft.edu.cn/android/repository/repository-10.xml
平台设置
macOS支持为iOS和Android开发Flutter应用程序。现在完成两个平台设置步骤中的至少一个,以便能够构建并运行你的第一个Flutter应用程序
iOS 设置 点击前往教程
Android 设置 点击前往教程
至此,全部环境搭建步骤结束,不敢保证全部正确,但我尽可能的把我的安装过程和问题都列了出来,希望可以帮到各位同学,祝大家起跑顺利,若果安装过程中有任何问题,大家可以评论或在我的公众号前端小苑留言,看到后我会第一时间回复。
最后欢迎大家关注公众号前端小苑,我会定期在这里发表原创文章。
Mac版最详细的Flutter开发环境搭建的更多相关文章
- 转---详细的Android开发环境搭建教程
五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程 引言 在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立A ...
- Flutter 开发环境搭建
Flutter 开发环境搭建 官方的资料相对还是比较全面的,包含了很多中文的资料信息.官方对咱们国家的开发人员还是很友好的. 安装教程:https://flutter.io/get-started/i ...
- [Flutter] Windows平台Flutter开发环境搭建(Andorid Studio)
前两天网友在群里说起了Flutter,就了解了一下,在手机上跑了它的demo,直接就被打动了. 虽然网上有很多教程,但真正开始的时候,还是会碰到很多坑.下面详细的讲解Flutter + Android ...
- 五步搞定Android开发环境部署——非常详细的Android开发环境搭建教程
在windows安装Android的开发环境不简单也说不上算复杂,本文写给第一次想在自己Windows上建立Android开发环境投入Android浪潮的朋友们,为了确保大家能顺利完成开发环境的搭 ...
- vue开发环境搭建Mac版
一.前言 要做一个移动端app,面对webapp最流行的三个技术React,angular,vue,三选一,如何选,可参考blog移动app技术选型,react,angular, vue, 下面是对 ...
- android 开发环境搭建 (转)
最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是一直没有搭建开发环 境去学习,Android的更新速度比较快了,Android1 ...
- Android开发环境搭建步骤-【Android】
本教程是android开发环境在windows下的安装配置,经本人测试完全正确无误.这个教程是史上最详细的android开发环境搭建教程. 工具/原料 Eclipse 3.7.0.Java Jdk6. ...
- mac 上配置flutter开发环境
(ios,Android,Xcode,Android Studio,VScode,IDEA) 1)安装Flutter SDK 2)iOS 环境配置 3)Android Studio配置 4)VS co ...
- 安装与配置Flutter开发环境
这篇博客我们介绍了Flutter,并且对比了H5,React Native,Flutter. 由于Flutter是跨平台的开发框架,开发一次可以同时运行在Android和iOS上面,所以我们开发时最好 ...
随机推荐
- python爬虫---爬虫的数据解析的流程和解析数据的几种方式
python爬虫---爬虫的数据解析的流程和解析数据的几种方式 一丶爬虫数据解析 概念:将一整张页面中的局部数据进行提取/解析 作用:用来实现聚焦爬虫的吧 实现方式: 正则 (针对字符串) bs4 x ...
- service基础概念和操作
sevice概念介绍 service的实现强烈依赖于kube-DNS组件 新版本k8s安装的是core-DNS 因为每个pod是有生命周期的 为了给客户端访问pod提供一个固定的访问端点 servic ...
- Maven国内源设置 - OSChina国内源失效了,别更新了
Maven国内源设置 - OSChina国内源失效了,别更新了 原文:http://blog.csdn.net/chwshuang/article/details/52198932 最近在写一个Spr ...
- 解锁 redis 锁的正确姿势
redis 是 php 的好朋友,在 php 写业务过程中,有时候会使用到锁的概念,同时只能有一个人可以操作某个行为.这个时候我们就要用到锁.锁的方式有好几种,php 不能在内存中用锁,不能使用 zo ...
- python中#!含义
LINUX 上的 Shebang 符号(#!) #!这个符号叫做 Shebang 或者 Sha-bangShebang 通常在 Unix 系统脚本的中第一行开头使用指明执行这个脚本文件的解释程序 使用 ...
- jenkins忘记admin密码的处理方法
如果忘记admin的登录密码,可按如下方法处理 # 编辑config.xml文件,替换passwordHash行的内容# vim /var/lib/jenkins/users/admin_167938 ...
- Mock Server之flask_restful(python+flask)
一.结构设计 上一篇,写了Mock Server的基础实现与被测系统的对接 当我们要mock 的 api越来越多的时候,路由与相关的方法都堆在app.py中就不合适了,不可拔插,可读性也比较差,因此要 ...
- Python与设计模式--工厂模式
快餐点餐系统 想必大家一定见过类似于麦当劳自助点餐台一类的点餐系统吧.在一个大的触摸显示屏上,有3类可以选择的上餐品:汉堡等主餐.小食.饮料.当我们选择好自己需要的食物,支付完成后,订单就生成了.下面 ...
- 点击一个超链接,弹出固定大小的新窗口(js实现)
1.最基本的弹出窗口代码 <SCRIPT LANGUAGE="javascript"> <!-- window.open ('page.html') --> ...
- django小知识(1)
聚合查询 关键字:aggregate from django.db.models import Max,Min,Count,Sum,Avg 分组查询 关键字:annotate 1.最简单的规律 mod ...