搭建flutter开发环境,折腾了我好几个小时才弄好,在这里就简单记录一下搭建的过程,以及其中遇到的一些报错问题,供后人参考参考。
起始
打开 flutter官网 选择 macOS。建议先不要按官网走,我建议是先下 Xcode,要是不需要 ios 开发也可以不下。
搭建
下载 Xcode
我这里建议先下载 Xcode
(用于ios端开发),要是你的 mac 版本支持,可以直接打开 App Store
然后获取。
但我这里 mac 是 12.3.1
,不能直接获取;
- 接下来的网页大多都要开启VPN了。
这时可以打开 该网址 查看 mac 版本对应的 Xcode
,比如这里我最终选择了13.4.1。
然后在 该网址 先用你的 appid 登录,接着搜索对应的版本,点击选择下载。
下载完成后,建议将压缩包放到应用程序中,然后双击解压,此时出现大问题提示 无法展开归档 xcode因为所选宗卷的可用空间不足
,内存不足了,我一看我内存还有30多G,怎么会不够了,经过搜索好像没什么办法,就是要你预留多点内存空间才能解压。
然后我就开始删软件,微信聊天记录什么的,然后好不容易挤到40多G,点击解压还是不行;
后面想到了一个能省很多空间的方法,我开始删 node_modules ,因为我有很多项目(有些是github上组件库的源码之类的)。删了很多挤到50多G空间了,终于解压成功,实际需要预留多少,我也不清楚,只能尝试了。
最后建议打开一下,看看是否正常。
获取 Flutter SDK
这里先不要点击下载,因为你 mac
版本下载的 Xcode
版本可能不支持 (最新版就直接选择对应芯片下吧)。我一开始就下了最新版,然后报错 Flutter 需要 Xcode 14 或更高版本
。
我最终选择了 3.10.6
的版本,因为 3.13.x
以上的版本好像要 mac 13.x
以上才行。下错了也没事,也就两个多g,后面会报错提示你版本不支持的,到时删了重新下个低版本的就好。
接下来的配置,跟着官网走就行,这里的目录其实就是上面 Xcode
的建议放进去的目录,然后这个 development
文件夹只是用来装 flutter
的不一定需要。
配置环境变量,当前命令行的路径需要和解压出来的 flutter 文件同层,也就是 development
路径下。官网也写了该环境变量只对当前命令行窗口有效,配置永久的还需要进一步 设置。
bash
export PATH="$PATH:`pwd`/flutter/bin"
永久 Path 环境变量
打开该文件
arduino
open ~/.bash_profile
添加该行,command + s 保存
bash
// /Users/user/develop 是我的 flutter 安装路径,根据自身修改
export PATH="$PATH:/Users/user/develop/flutter/bin"
刷新一下环境变量
bash
source ~/.bash_profile
检查是否有效
bash
which flutter
flutter doctor
执行 flutter doctor 检查当前环境还需要什么依赖。
flutter doctor
此时下面这几项应该会出现错误(好像就这几项了),vscode和chrome应该都是默认有了的吧。
Android
Android Studio 没下载会提示你先下载,报错信息会有个 地址 的,点击下载 Android Studio 就行。
同意条款,我这里就选这个了,intel的选另一个就好。
下载完成后,打开它,简单创建个项目,然后就会自动下一些 sdk 了。
但是报错信息中还会显示缺少一个工具包,然后还需要点击这里,选择 Command-line 下载。
此时再运行 flutter doctor
, Android 的 ✅ 就勾上了。
Xcode 的 CocoaPods 报错
建议一直开着 vpn;
最后就剩 Xcode 中的 CocoaPods 的报错了。这个东西是搞了我最久了...
按照提示直接下载会报错。
arduino
// 加上 -V 能看到下载的详细信息
sudo gem install cocoapods -V
- 报错信息: You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory
原因简单来说就是 运行 ruby 时,会运行到 mac 自己安装的 ruby,所以出现问题。这篇文章 有详细解释。
接下来按照 该文章 就能成功下载 Ruby,下载完 Ruby 就能下载 CocoaPods 了。
我当时的流程大致如下,不一定适用你们的电脑,全程跟着上面文章走的话准没错。
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
退出并重新启动终端,检查是否下好。
brew doctor
执行下面命令
bash
echo "eval $(/opt/homebrew/bin/brew shellenv)" >> ~/.zprofile
eval $(/opt/homebrew/bin/brew shellenv)
退出并重新启动终端,再次检查。我好像遇到一些警告,但我没管,也没什么问题。
brew doctor
使用 Ruby-Install 安装 chruby 和最新的 ruby
brew install chruby ruby-install
安装最新的Ruby
ruby-install ruby
执行下面命令
bash
echo "source $(brew --prefix)/opt/chruby/share/chruby/chruby.sh" >> ~/.zshrc
echo "source $(brew --prefix)/opt/chruby/share/chruby/auto.sh" >> ~/.zshrc
echo "chruby ruby-3.2.2" >> ~/.zshrc
请注意,上述命令中的3.2.2是前面安装的版本。
退出并重新启动终端,然后检查
ruby -v
可以升级一下 gem,我当时操作的时候,也执行了很多其他的命令,可能存在还需要执行某些命令的情况。
sql
sudo gem update --system
切换源,该步应该不需要做了,因为上面已经安装好 ruby 了,要是下面安装报错可以切换一下(我是已经切换了的)。
arduino
gem sources --remove https://rubygems.org/
gem source -a https://gems.ruby-china.com
// 检查是否切换成功
gem sources -l
现在执行 cocoapods 的安装应该就可以了。
bash
sudo gem install -n /usr/local/bin cocoapods
最后
最后执行 flutter doctor 所有的 ✅ 应该都是完成的了。
dart
// 我这里环境变量还没弄成永久,所以需要先执行下面这步,记得要去到flutter的同级目录下执行
export PATH="$PATH:`pwd`/flutter/bin"
flutter doctor

最后,完成搭建,那些压缩包就删了吧;软件,node_modules什么的,就下回来吧