如果FlutterRoot文件夹中有本地更改,如何升级Flutter?
运行flutter upgrade命令时出现错误。 Upgrading Flutter from E:\flutter... Updating
f37c235c3..5391447fa error: Your local changes to the following files would be
overwritten by merge: packages/flutter_tools/gradle/flutter.gradle Please
commit your changes or stash them before you merge. Aborting
回答:
这是因为您对该文件进行了一些更改:
<FlutterRoot>/packages/flutter_tools/gradle/flutter.gradle
那是flutter的根目录,还有bin
文件夹。
也许您已经进行了这样的修改,以便将一些gradle规则传播到所有flutter项目中,我不知道,您应该知道;-]
当我们尝试对颤振根路径进行一些修改(因为我们需要它或出于意外)时,尝试更新颤动或更改颤动通道时,会收到错误消息。
在这种情况下,我们有两种选择的途径:
前往<FlutterRoot>
和
- 与
git checkout .
(或stash
他们,如果你现在是什么意思)。
放弃更改是一种破坏性的操作,因此您应该备份或至少知道这些更改是否有用以及有用的修改,以便您可以在之后再次添加它们并进行更新或更改频道
今天,在flutter github官方repo Wiki中还有一个部分来解决这种情况:
常见问题的解决方法
在这里您可以找到此解决方案
git clean -xfdgit stash save --keep-index
git stash drop
git pull
flutter doctor
第 一个 命令删除所有取消跟踪的回购文件(例如,如果您添加了自己的文件),而 第三 行删除先前的存储。
因此,这是一个破坏性命令,例如git checkout .
,它还会清除不属于标准flutter存储库的所有文件。
如果您不打算在Flutter根项目上进行任何修改,则可以选择上述任一git checkout .
命令。
但是,如果您有需要保留的修改,则可以选择以下解决方案或隐藏此修改,但不要删除此隐藏,否则您将丢失它。
- ,
git add . && git commit -m "my changes whatever"
并查看是否flutter update
可以将扑朔迷离的正式更改与您的合并。
如果您不记得在哪里<FlutterRoot>
,可以输入:
- OSX / Linux:
which flutter
- 视窗:
where flutter
这应该打印<FlutterRoot>/bin/flutter
。
以上是 如果FlutterRoot文件夹中有本地更改,如何升级Flutter? 的全部内容, 来源链接: utcz.com/qa/406196.html