尝试运行 `flutter upgrade` 时出错

Oto*_*ett 6 git flutter

我正在尝试升级我的 Flutter SDK 并将我的 Flutter 频道更改为master,但我遇到以下错误:

git: error: Your local changes to the following files would be overwritten by checkout:
git:    examples/catalog/android/build.gradle
git:    examples/catalog/android/gradle/wrapper/gradle-wrapper.properties
git:    packages/flutter_tools/gradle/flutter.gradle
git: Please commit your changes or stash them before you switch branches.
git: Aborting
Switching channels failed with error code 1.
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种情况以及如何解决这个问题?

Gün*_*uer 11

这些从 Flutter 安装目录执行的命令应该会让你回到工作状态

git clean -xfd
git stash save --keep-index
git stash drop
git pull
flutter doctor
Run Code Online (Sandbox Code Playgroud)

现在flutter upgrade, flutter channel ..., ... 应该可以正常工作了。

https://github.com/flutter/flutter/wiki/Workarounds-for-common-issues#flutter-installation-corrupted

  • 我所要做的就是“git clean -xfd”,然后 flutter 升级就起作用了。 (4认同)

cre*_*not 7

发生这种情况是因为文件已在本地更改。这意味着您机器上的版本与 GitHub 上的版本不同。

解决此问题的最简单方法是使用--force

flutter upgrade --force
Run Code Online (Sandbox Code Playgroud)

这将覆盖任何不匹配的文件。确保您不会因此而丢失任何进度(例如,当您正在为 做 PR 时flutter)。


解决此问题的另一种方法是从您的设备中删除文件,然后执行flutter upgrade. 这将解决 Git 错误,因为它只会再次从 Internet 获取文件。

为此,请转到您的 Flutter 目录并删除文件。例如,如果您的 Flutter SDK 目录是F:/data/flutter,则需要删除以下文件:

  • F:/data/flutter/examples/catalog/android/build.gradle
  • F:/data/flutter/examples/catalog/android/gradle/wrapper/gradle-wrapper.properties
  • F:/data/flutter/packages/flutter_tools/gradle/flutter.gradle