下载flutter sdk包
下载Flutter SDK包
官网链接:https://flutter.io/setup-macos/
配置环境变量
打开终端工具,使用vim进行配置环境变量,命令如下:
vim ~/.bash_profile
在打开的文件中增加一行代码
export PATH=/Users/用户名/flutter/bin:$PATH
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
提示:这行命令你要根据你把压缩包解压的位置来进行编写,写的是你的路径
配置文件完成后,使用 source 命令重新加载一下,具体命令如下:
source ~/.bash_profile
使用命令检查是否安装成功,具体命令如下:
flutter -h
出现flutter可用命令提示后,表示安装成功。
检查开发环境
我们安装好了Flutter,但是还不具备开发环境。开发还需要很多软件和插件的支持,那到底需要哪些插件和软件那?我们可以使用Flutter为我们提供的命令来进行检查:
flutter doctor
显示结果
[✓] Flutter (Channel stable, v1.2.1, on Mac OS X 10.13.6 17G4015, locale zh-Hans-CN)
[✗] Android toolchain - develop for Android devices
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.io/setup/#android-setup for detailed instructions).
If Android SDK has been installed to a custom location, set ANDROID_HOME to that location.
You may also want to add it to your PATH environment variable.
[!] iOS toolchain - develop for iOS devices (Xcode 10.2.1)
✗ libimobiledevice and ideviceinstaller are not installed. To install with Brew, run:
brew update
brew install --HEAD usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
brew install ideviceinstaller
✗ ios-deploy not installed. To install:
brew install ios-deploy
[!] Android Studio (not installed)
[!] VS Code (version 1.36.1)
✗ Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[!] Connected device
! No devices available
注意:带❌的就必须安装,带❗️的就可以暂时忽略。
VS Code是我之前就安装的,如果没有安装是不会出现下面这个带❌信息的
[!] VS Code (version 1.36.1)
✗ Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
所以,这个暂时可以先忽略
解决带❌的问题
1、Android环境
1.1 安装 Android Studio
打开 Android Studio, 打开 plugins ,安装 flutter
完成后
[✗] Android toolchain - develop for Android devices
✗ Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.io/setup/#android-setup for detailed instructions).
If Android SDK has been installed to a custom location, set ANDROID_HOME to that location.
You may also want to add it to your PATH environment variable.
.
.
.
[!] Android Studio (not installed)
转变为
[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
✗ Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
.
.
.
[✓] Android Studio (version 3.4)
1.2 执行 flutter doctor --android-licenses同意相关协议
此处 N 多信息,都是相关协议文件,一路 y 即可。
.
.
.此处 N 多信息,都是相关协议文件,一路 y 即可。
.
.
---------------------------------------
Accept? (y/N): y
All SDK package licenses accepted
完成后
[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
✗ Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
转变为
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
2、iOS环境
[!] iOS toolchain - develop for iOS devices (Xcode 10.2.1)
✗ libimobiledevice and ideviceinstaller are not installed. To install with Brew, run:
brew update
brew install --HEAD usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
brew install ideviceinstaller
✗ ios-deploy not installed. To install:
brew install ios-deploy
在安装iOS环境时,就碰到一些坑
2.1 坑1:/usr/local is not writable.
看到这个提示,我们第一时间就是想着修改读写权限
当你执行sudo chown -R $(whoami) /usr/local进行修改时,系统会有如下提示:
Operation not permitted
现在问题就卡住了,因为执行brew update之类的命令,需要对/usr/local进行写入操作。但是操作用户无法像对普通文件夹操作一样,通过chown获得write权限。由于/usr/local是系统文件夹,macOS限制了对其的操作权限。
苹果从 OS X El Capitan 10.11 系统开始使用了 Rootless 机制,可以将该机制理解为一个更高等级的系统的内核保护措施,系统默认将会锁定 /system、/sbin、/usr 这三个目录。
在终端输入
csrutil status
收到系统提示
System Integrity Protection status:enabled
说明rootless默认打开,此时无法通过sudo命令,对**/system、/sbin、/usr** 这三个目录进行修改。
打开、关闭Rootless机制
重启Mac
开机时后按下 Command+R,进入恢复模式。
在上面的菜单实用工具中找到并打开 Terminal
输入如下命令:
csrutil disable
此时rootless已经关闭,退出恢复模式,正常进入系统。在终端输入
csrutil status
系统提示
System Integrity Protection status:disabled
rootless已关闭
可通过 sudo chown -R $(whoami) /usr/local
进行权限修改
开启rootless
在恢复模式的Terminal输入如下命令:
csrutil enable
建议修改完成之后,为了系统安全,将rootless重新开启。
2.2 坑2:缺少 autoconf、automake和libtool
brew install autoconf
brew install automake
brew install libtool
最后,我终于成功了!美滋滋😄
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.7.8+hotfix.3, on Mac OS X 10.14.5 18F132, locale
zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.1)
[✓] Xcode - develop for iOS and macOS (Xcode 10.2.1)
[✓] iOS tools - develop for iOS devices
[✓] Android Studio (version 3.4)
[!] VS Code (version 1.36.1)
✗ Flutter extension not installed; install from
https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[✓] Connected device (1 available)
! Doctor found issues in 1 category.
作者:墨隐于非
链接:https://www.jianshu.com/p/b9ee42df1054
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。