记一次升级Flutter SDK失败的光辉历史
提示:本文内容颇为复杂,涉及到的疑难杂症也颇多。
一切源于一个简单的指令:flutter upgrade,然后开启了崩溃的黑色3小时。
刚打开项目,看到控制台的编译log提示Flutter SDK
可以更新,行吧,那就更新吧,想着应该也是一个很简单的事情,因为我Android Studio
也是经常更新的。
ok,编译结束,Terminal
中直接执行flutter upgrade
,因为之前也在官方文档中看到过升级 Flutter的介绍,内容不多,以为不复杂呢,结果这一执行直接掉进了无底的深渊。。
对插件下手
执行之后显示如下:
D:\FlutterProjects\wanandroid_flutter>flutter upgrade
Checking Dart SDK version...
Downloading Dart SDK from Flutter engine 52c7a1e849a170be4b2b2fe34142ca2c0a6fea1f...
Downloading the Dart SDK using the BITS service failed, retrying with WebRequest...
Invoke-WebRequest : 请求被中止: 未能创建 SSL/TLS 安全通道。
所在位置 D:\flutter\flutter_windows_v1.2.1-stable\flutter\bin\internal\update_dart_sdk.ps1:62 字符: 5
+ Invoke-WebRequest -Uri $dartSdkUrl -OutFile $dartSdkZip
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest],WebException+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommandError: Unable to update Dart SDK. Retrying...
网上搜了一会,根本没结果,但是我此刻也依然没当回事,并开启了一些骚操作。。
上面看到要升级Dart
的sdk,因为dart的sdk是包含在flutter中的,在as在装flutter插件的时候还提示要装dart插件,
所以我直接从插件plugin下手了。
- 卸载dart插件然后重启,卸载flutter插件然后重启。
- 安装dart插件然后重启,安装flutter插件然后重启。
但是编译还是跑不起来,报什么错忘了,继续骚操作。。
对SDK下手
既然插件不行,行吧,那就直接手动升级sdk吧,此刻心态依然乐观,说来也是心大。
然后跑去github看了一下版本
纳尼,一天一个版本??? 这也太假了吧,我只要正式版就行啊。
然后又跑去官网看看:
嗯,这还差不多,我上个版本就是 1.2.1
的,最新1.5.4
的,那行吧,下载下来
- 解压
- 删掉1.2.1的版本
- 改环境变量
- 重启AS
emmmm 还是不行,且文件全部报错,开始有一点慌了。。
然后想起来项目中的路径可能还没改呢,然后在设置中把flutter sdk路径改成1.5.4的,感觉应该可以了
改好之后,满怀着期待重新编译,依然不行,此刻心态已经有点崩了,现在是退不能退 进不能进了。
尝试一下invalidate and restart
,emmm 也不行
报错如下:
Warning! This package referenced a Flutter repository via the .packages file that is no longer available. The repository from which the 'flutter' tool is currently executing will be used instead.running Flutter tool: D:\flutter\flutter_windows_v1.5.4-hotfix.2-stable\flutterprevious reference : D:\flutter\flutter_windows_v1.2.1-stable\flutter
This can happen if you deleted or moved your copy of the Flutter repository, or if it was on a volume that is no longer mounted or has been mounted at a different location. Please check your system path to verify that you are running the expected version (run 'flutter --version' to see which flutter is on your path).
嗯,我也知道两次版本不对,可是在哪改、怎么改呢。
对项目配置下手
我开始在项目中找有没有编译时类似build产生的文件,最后在根目录的.package
文件中发现还是1.2.1的版本的
# Generated by pub on 2019-05-28 10:50:34.749388.
async:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/async-2.0.8/lib/
boolean_selector:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/boolean_selector-1.0.4/lib/
charcode:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/charcode-1.1.2/lib/
collection:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/collection-1.14.11/lib/
cookie_jar:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/cookie_jar-1.0.0/lib/
cupertino_icons:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/cupertino_icons-0.1.2/lib/
dio:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/dio-2.1.3/lib/
flutter:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/packages/flutter/lib/
flutter_page_indicator:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/flutter_page_indicator-0.0.3/lib/
flutter_swiper:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/flutter_swiper-1.1.6/lib/
flutter_test:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/packages/flutter_test/lib/
flutter_webview_plugin:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/flutter_webview_plugin-0.3.5/lib/
fluttertoast:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/fluttertoast-3.0.4/lib/
matcher:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/matcher-0.12.3+1/lib/
meta:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/meta-1.1.6/lib/
path:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/path-1.6.2/lib/
pedantic:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/pedantic-1.4.0/lib/
quiver:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/quiver-2.0.1/lib/
sky_engine:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/bin/cache/pkg/sky_engine/lib/
source_span:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/source_span-1.5.4/lib/
stack_trace:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/stack_trace-1.9.3/lib/
stream_channel:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/stream_channel-1.6.8/lib/
string_scanner:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/string_scanner-1.0.4/lib/
term_glyph:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/term_glyph-1.1.0/lib/
test_api:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/test_api-0.2.2/lib/
transformer_page_view:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/transformer_page_view-0.1.6/lib/
typed_data:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/typed_data-1.1.6/lib/
vector_math:file:///D:/flutter/flutter_windows_v1.2.1-stable/flutter/.pub-cache/hosted/dart-pub.mirrors.sjtug.sjtu.edu.cn%2547/vector_math-2.0.8/lib/
wanandroid_flutter:lib/
文件备份一下然后直接删掉,看看会不会编译生成,结果没有
那行吧,直接把路径替换了
天呐,依然不行,搞这个的时间早都超出预算了,心态已经崩了,只能硬着头皮上了。
只能在项目设置中尝试了。
打开Project Structure
,果然他丫的还是有问题,但是看到了黎明的曙光。
- 1,还是上面的问题。
- 2,果然还是有一个路径没有改
- 3,kotlin的直接忽略
先改掉2的路径问题
把1.2.1的版本路径换成1.5.4的路径即可。
但是1要fix的话提示我全部移除,那行吧,试试。
编译一下还是不行,此刻已然是生无可恋了。
因为之前打开了pubspec.yaml
文件查看是不是有配置什么的没改,然后随手点了下packages get
,结果OK了!!!
复盘
因为是手动升级的flutter SDK,所以项目中除了自带的库以外还有第三方的库,都还是原来的路径,在把全部路径修改完之后,需要packages get
重新下载到新版本的路径中去才能引用。
之前也尝试过packages upgrade
,但是等了半天没反应,也没在任务管理中看到下载,所以就没当回事。。
翻墙这种小事就不提了。。
期间也遇到
Waiting for another flutter command to release the startup lock...
解决办法:
- 打开任务管理器,结束掉
Android Studio
和Dart.exe
- 删除
flutter\bin\cache
目录下的lockfile
文件,然后重启AS即可
本文旨为flutter upgrade 升级flutter失败之后手动升级的记录,没准你一下就成功了。。
心累。。
Flutter 环境配置:https://blog.csdn.net/yechaoa/article/details/89150852
官方文档:https://flutter.dev/
记一次升级Flutter SDK失败的光辉历史相关推荐
- 如何解决Flutter SDK升级后报错问题
一.报什么错 现在Flutter SDK不稳定,就在前几天,才刚刚发布了Flutter的第一个稳定版本V1.17.0. 结果在升级完后,以前指定的sdk路径用不了,且flutter.bat都被删掉了. ...
- flutter 运行失败 The SDK directory 'xxxxx' does not exist.
A problem occurred evaluating root project 'android'. > A problem occurred configuring project ': ...
- Flutter SDK安装
SDK下载安装 Flutter集成了Dart,因此不需要单独安装dart-sdk. Flutter的SDK可以从官网下载: https://flutter.io/docs/development/to ...
- 项目添加universal link跳转,升级微信SDK
转载地址:https://www.jianshu.com/p/ceafb907db40 苹果对还未从UIWebView更新到WKWebView的应用做出了明确规定:新应用最晚于2020年4月份,更新的 ...
- 升级Android SDK (API24)笔记
升级Android SDK (API24)笔记 这几天闲着没事,突发奇想地要升级一下电脑中的安卓编程环境. 之前安装的是eclipse环境下的android 4.2.2(18版本),还是几年前我一个读 ...
- 华为服务器文件升级失败,升级连接服务器失败
升级连接服务器失败 内容精选 换一换 2020年7月以及之后购买的实例,Kafka服务器允许客户端单IP连接的个数为1000个,在此之前购买的实例,Kafka服务器允许客户端单IP连接的个数为200个 ...
- 环信im Flutter sdk使用帮助
文章主要讲解环信im Flutter sdk如何使用. 环信官网 IMGeek问题反馈 环信iOS集成文档 环信Android集成文档 flutter sdk源码地址: Github 任何问题可以通过 ...
- 即构音视频 Express Flutter SDK 全面支持空安全
Flutter 是一套移动 UI 框架,可以快速在 iOS.Android 上构建高质量的原生用户界面.作为其官方语言 Dart 是类型安全的,当开发者获取变量的时候,编译器可以保证变量的类型,但类型 ...
- 使用FVM管理Flutter SDK版本切换
window下配置fvm版本切换工具,管理flutter sdk版本的切换 一.配置flutter dart环境 使用前需要先配置flutter dart环境,才能下载jvm 已经配置好环境的,在命令 ...
最新文章
- Dictionary作为数据源绑定,调用c++库中返回为BYTE*的函数,listView项排序
- python之⾯向对象-多态
- numpy中矩阵运算的特点
- 2017.10.3北京清北综合强化班DAY3
- 神经网络 并行预测_研究人员研究了为什么神经网络可以有效地进行预测
- [self Introduce]MY job pic
- Java正則表達式詳解
- leetcode 216. 组合总和 III 思考分析
- Python 判断字符串是否为IP(字符串中是否包含IP)
- 【英语学习】【English L06】U05 Appointments L4 Making an appointment with a doctor
- 怕死吗?研究人员推出可模拟“灵魂出窍”的VR系统
- 【原创源码】(05):C#-计算绝对路径。
- 酷派COOL 20 Pro影像大升级:搭载5000万AI三摄 主攻夜景
- python备份数据库
- CICD详解(十五)——Jenkins插件安装失败解决
- Oracle用户及角色的权限管理[Oracle基础]
- 【CarMaker学习笔记】T型路口多车运行实验
- mdt 计算机名_MDT通过PowerShell脚本自定义变量(自定义计算机名)
- 统一建模语言UML概述
- FC网络光纤通信 c语言实现,[2018年最新整理]光纤通信实验指导书(含原理).doc