Flutter 无法将频道切换到 beta

Posted

技术标签:

【中文标题】Flutter 无法将频道切换到 beta【英文标题】:Flutter can't switch channel to beta 【发布时间】:2020-10-22 00:18:41 【问题描述】:

我正在尝试切换 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

【问题讨论】:

【参考方案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

【讨论】:

感谢您的精彩回答,但很抱歉告诉您它不起作用,我尝试自己从目录中删除 beta 但 git fetch 仍然显示相同的错误/ 嘿@Prateek,我刚刚用更多可以尝试的命令更新了答案

以上是关于Flutter 无法将频道切换到 beta的主要内容,如果未能解决你的问题,请参考以下文章

将flutter从master切换到stable后无法构建发布apk

Flutter - 如何在不每次下载flutter和dart sdk的情况下切换flutter频道

在 Flutter 中,如何将文件上传到 PubNub 频道?

Flutter - Flutter 版本管理 (fvm) 包在 Windows 中不起作用

尝试向 Flutter 发送平台消息,但 FlutterJNI 与原生 C++ 分离。无法发送。频道:颤振/文本输入。响应 ID:0

在flutter中使用pubnub,如何发起聊天?