Flutter 无法将频道切换到 Beta

Flutter can't switch channel to beta

我正在尝试切换 Flutter 频道以使用 Flutter web。但每次我收到这个错误。既没有切换到 Flutter master 也没有切换到 Flutter beta。

P:\FlutterProjects>flutter channel master
Switching to flutter channel 'master'...
git: From https://github.com/flutter/flutter
git:    1ad9baa8b..8af6b2f03  stable         -> origin/stable
git: error: cannot lock ref 'refs/remotes/origin/beta': unable to resolve reference 'refs/remotes/origin/beta': reference broken
git:  ! [new branch]          beta           -> origin/beta  (unable to update local ref)
git:    1ad9baa8b..8af6b2f03  flutter-1.17-candidate.3 -> origin/flutter-1.17-candidate.3
git:    df98ad6b2..0bffc8a39  master         -> origin/master
git:  * [new tag]             1.17.5         -> 1.17.5
git: error: cannot lock ref 'refs/tags/1.20.0-0.0.pre': unable to resolve reference 'refs/tags/1.20.0-0.0.pre': reference broken
git:  ! [new tag]             1.20.0-0.0.pre -> 1.20.0-0.0.pre  (unable to update local ref)
Switching channels failed with error code 1

在命令行中导航到安装 flutter 的目录,然后运行执行以下命令

$ rm .git/refs/remotes/origin/beta
$ git fetch

如果上述方法不起作用,请尝试以下方法

$ git gc --prune=now
$ git remote prune origin

上面的命令将删除损坏的引用,下面的命令将确保 flutter 在更改频道之前在当前频道上完全升级。

$ flutter upgrade
$ flutter channel master
$ flutter upgrade